如何找到可以利用的輸入點(diǎn)?
這不是一篇介紹技術(shù)的文章,只是一種開放思維的嘗試。主要著重于當(dāng)遇到輸入過(guò)濾的情況下,如何找到可以利用的輸入點(diǎn)。
本質(zhì)上來(lái)說(shuō)如果要進(jìn)行xss攻擊,只要找到一個(gè)未過(guò)濾的輸入點(diǎn)。輸入的數(shù)據(jù)在支持腳本的軟件(不僅限于瀏覽器)里解析就可以了。sqli也是類似的道理。而輸入點(diǎn)并不僅僅是網(wǎng)頁(yè)里的表單,只要去發(fā)現(xiàn),輸入點(diǎn)無(wú)處不在。下面介紹一些拋磚引玉的想法,也歡迎大家分享自己的思路。
user agent 字段
不僅僅是useragent字段,還包括頭部的其他字段。比如把useragent改成
"<script>window.location = "http://www.freebuf.com/"</script>"
很多日志分析工具都是生成html格式的報(bào)告,如果這個(gè)字段沒(méi)有合適的過(guò)濾編碼就輸出在html里,管理員查看的時(shí)候就會(huì)執(zhí)行插入的js了。Splunk就曾經(jīng)出過(guò)因?yàn)閷?duì)referer字段沒(méi)有過(guò)濾導(dǎo)致的xss漏洞。
SSIDs
這只是一個(gè)假想的攻擊方式,SSIDs可以有32個(gè)字符甚至可以包含不能打印的ASCII,SSID可能出現(xiàn)在某些記錄wifi連接記錄的日志里。
事件日志
很多人分析日志都會(huì)用第三方的日志查看工具。如果我們用
<script>alert("XSS");</script>
作為用戶名嘗試登陸,登陸失敗后會(huì)記錄在日志中。第三方工具如果沒(méi)有合適的過(guò)濾編碼字符串,管理員查看工具生成的html格式的報(bào)告時(shí)就可能受到xss攻擊。
計(jì)算機(jī)名和描述
這個(gè)場(chǎng)景我在Softperfect’s NetScan實(shí)踐過(guò)。在這里插入xss代碼,當(dāng)滲透測(cè)試人員查看掃描報(bào)告的時(shí)候。。。。。
應(yīng)用的名字和元數(shù)據(jù)
一些管理軟件會(huì)列出來(lái)電腦上安裝的軟件信息,如果是用html來(lái)實(shí)現(xiàn)。。。
Banners
大多網(wǎng)絡(luò)掃描器都可以識(shí)別banner,而且可以輸出多種格式,html,xml等。