揭露88red生成htm靜態(tài)頁(yè)面企業(yè)建站系統(tǒng)漏洞第1/2頁(yè)
更新時(shí)間:2008年05月09日 13:28:34 作者:
88red生成htm靜態(tài)頁(yè)面企業(yè)建站系統(tǒng)后門利用代碼,用88red做企業(yè)占的朋友可要注意了
作者:小帥(xsser)@[0.S.T]
本文已發(fā)表在《黑客手冊(cè)》第4期,轉(zhuǎn)載請(qǐng)注明出處,或以超鏈接方式注明:http://blog.0kee.com/xiaoshuai 小帥's blog
很久沒(méi)去asp300溜達(dá)了,不去總覺(jué)得的對(duì)不起這個(gè)發(fā)布站的流量,也對(duì)不起黑客手冊(cè)那么多讀者的強(qiáng)烈要求(別扔雞蛋!扔錢?。呛?,既然牛都吹起來(lái)了,我不得不冒著生命危險(xiǎn)看看代碼吧,反正我下載下來(lái)的時(shí)候就覺(jué)得很偉大,這個(gè)系統(tǒng)很偉大,他吹的比我還大,好好,我們看他怎么說(shuō)的:88red生成htm靜態(tài)頁(yè)面企業(yè)建站系統(tǒng)V3.0經(jīng)過(guò)精心打造正式推出,集合了網(wǎng)站地圖、企業(yè)新聞中心、企業(yè)產(chǎn)品、搜索、客戶留言、下載、投票系統(tǒng)等等功能,基本涵蓋了一個(gè)企業(yè)網(wǎng)站所需要的基本功能。其生成靜態(tài)頁(yè)面的功能為廣大企業(yè)網(wǎng)站優(yōu)化搜索引擎SEO,提供了最大的幫助。系統(tǒng)設(shè)計(jì)了新的美工,更加貼近企業(yè)網(wǎng)站效果。我們用事實(shí)說(shuō)話。1、未過(guò)濾的留言版打開(kāi)目錄后發(fā)現(xiàn)conn.asp、config.asp等文件,那就看看吧,首先看config.asp里沒(méi)有什么特別的,conn.asp里容錯(cuò)了(就是防止暴庫(kù)了),沒(méi)戲?當(dāng)然有,我們看下conn.asp:
<% on error resume next dim conn dim connstr dim db db="data/qiyedata.asa" Set conn = Server.CreateObject("ADODB.Connection") connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) conn.Open connstr%>
順藤摸…亂摸吧,摸到啥就是啥,我摸到了數(shù)據(jù)庫(kù),還是asa的,我先想到了一句話這個(gè)東西,一句話?什么東西能和一句話連在一起呢?怎么讓他入庫(kù)呢?用戶、留言、發(fā)布等地方,我看了一下根目錄都是靜態(tài)的,想想html注入行不?這個(gè)想法我先擱著,去看留言,留言都是靜態(tài)的,唉!沒(méi)事,繼續(xù)…根目錄下有個(gè)叫savegb.asp的文件,想想也知道是保存留言的文件,那就看他的過(guò)濾吧,片斷如下:
if request.form("code")="" then ‘驗(yàn)證碼為空就“彈死你”response.write"<script language=javascript>alert('請(qǐng)?zhí)顚?xiě)您的名字');this.location.href='javascript:history.go(-1)';</script>"response.endend ifif request.form("content")="" then ‘你不寫(xiě)留言內(nèi)容就剝奪你的發(fā)言權(quán)response.write"<script language=javascript>alert('請(qǐng)?zhí)顚?xiě)留言內(nèi)容');this.location.href='javascript:history.go(-1)';</script>"response.endend ifset rs=server.createobject("adodb.recordset") ‘滿足以上2個(gè)要求才讓你去見(jiàn)數(shù)據(jù)庫(kù)sql="select * from gb"rs.open sql,conn,3,3
唉!文件頭也就個(gè)conn.asp沒(méi)什么防止或者過(guò)濾的,這樣就造成2個(gè)結(jié)果:第1、直接寫(xiě)一句話得到shell。第2、跨站腳本攻擊咯!先來(lái)看第一個(gè)辦法,寫(xiě)一句話(前提數(shù)據(jù)庫(kù)里沒(méi)干擾),如圖1

然后我們點(diǎn)擊“提交”,這樣我們的一句話就輸入到asa的數(shù)據(jù)庫(kù)了。我是小旋風(fēng),asa格式的文件不解析的,所以我換成asp,但是原理是一樣的,我們來(lái)看圖2

這樣我們就成功的把一句話插到了數(shù)據(jù)庫(kù)里,接著就是提權(quán)什么的。第2個(gè),我們來(lái)看xss,由xss大家要馬上想到有不有辦法拿到webshell,比如利用管理員的session進(jìn)行操作什么的,跨站得到webshell,某牛人寫(xiě)過(guò),我們來(lái)看后臺(tái)吧,后臺(tái)驗(yàn)證的還行,至少我們的萬(wàn)能鑰匙不再萬(wàn)能。片段如下:
TheAdmin=Replace(Trim(Request("User")),"'","") ‘過(guò)濾了空格,并把單引號(hào)轉(zhuǎn)換成空格Pass=Replace(Trim(Request("Pass")),"'","") ‘和上面一樣的過(guò)濾。Set Rs=Server.CreateObject("Adodb.RecordSet")Sql="Select * From Admin Where admname='"&TheAdmin"'" 再進(jìn)入數(shù)據(jù)庫(kù)操作Rs.Open Sql,Conn,1,3If Rs.eof thenResponse.Write "<Script Language='javascript'>alert('對(duì)不起,此用戶不存在!');window.location.href='Login.asp';</Script>"Response.EndElsePass1=Rs("admpass")If Pass1=Md5(Pass) thenSession("admin")=Rs("admname")Response.Redirect "Main.asp"ElseResponse.Write "<Script Language='javascript'>alert('對(duì)不起,密碼錯(cuò)誤!');window.location.href='Login.asp';</Script>"End IfEnd IfRs.CloseSet Rs=NothingConn.CloseSet Conn=Nothing
End If
沒(méi)戲看了,單引號(hào)過(guò)濾了就被掐住了我們進(jìn)后臺(tái)的辦法之一。繼續(xù)看代碼,思路現(xiàn)在整理一下,方便大家理解吧。留言過(guò)濾不嚴(yán)---à一句話入庫(kù)---àxss---à后臺(tái)驗(yàn)證很好,無(wú)法進(jìn)入-à找到配置文件的文件頭查看。2、利用漏洞1順藤摸webshell我們用默認(rèn)密碼進(jìn)去看看后臺(tái),啥白盒黑盒一起測(cè)試,測(cè)到webshell就是好tester,呵呵,廢話不繼續(xù)了,小心編輯扣小費(fèi),我們來(lái)看圖3

本文已發(fā)表在《黑客手冊(cè)》第4期,轉(zhuǎn)載請(qǐng)注明出處,或以超鏈接方式注明:http://blog.0kee.com/xiaoshuai 小帥's blog
很久沒(méi)去asp300溜達(dá)了,不去總覺(jué)得的對(duì)不起這個(gè)發(fā)布站的流量,也對(duì)不起黑客手冊(cè)那么多讀者的強(qiáng)烈要求(別扔雞蛋!扔錢?。呛?,既然牛都吹起來(lái)了,我不得不冒著生命危險(xiǎn)看看代碼吧,反正我下載下來(lái)的時(shí)候就覺(jué)得很偉大,這個(gè)系統(tǒng)很偉大,他吹的比我還大,好好,我們看他怎么說(shuō)的:88red生成htm靜態(tài)頁(yè)面企業(yè)建站系統(tǒng)V3.0經(jīng)過(guò)精心打造正式推出,集合了網(wǎng)站地圖、企業(yè)新聞中心、企業(yè)產(chǎn)品、搜索、客戶留言、下載、投票系統(tǒng)等等功能,基本涵蓋了一個(gè)企業(yè)網(wǎng)站所需要的基本功能。其生成靜態(tài)頁(yè)面的功能為廣大企業(yè)網(wǎng)站優(yōu)化搜索引擎SEO,提供了最大的幫助。系統(tǒng)設(shè)計(jì)了新的美工,更加貼近企業(yè)網(wǎng)站效果。我們用事實(shí)說(shuō)話。1、未過(guò)濾的留言版打開(kāi)目錄后發(fā)現(xiàn)conn.asp、config.asp等文件,那就看看吧,首先看config.asp里沒(méi)有什么特別的,conn.asp里容錯(cuò)了(就是防止暴庫(kù)了),沒(méi)戲?當(dāng)然有,我們看下conn.asp:
<% on error resume next dim conn dim connstr dim db db="data/qiyedata.asa" Set conn = Server.CreateObject("ADODB.Connection") connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) conn.Open connstr%>
順藤摸…亂摸吧,摸到啥就是啥,我摸到了數(shù)據(jù)庫(kù),還是asa的,我先想到了一句話這個(gè)東西,一句話?什么東西能和一句話連在一起呢?怎么讓他入庫(kù)呢?用戶、留言、發(fā)布等地方,我看了一下根目錄都是靜態(tài)的,想想html注入行不?這個(gè)想法我先擱著,去看留言,留言都是靜態(tài)的,唉!沒(méi)事,繼續(xù)…根目錄下有個(gè)叫savegb.asp的文件,想想也知道是保存留言的文件,那就看他的過(guò)濾吧,片斷如下:
if request.form("code")="" then ‘驗(yàn)證碼為空就“彈死你”response.write"<script language=javascript>alert('請(qǐng)?zhí)顚?xiě)您的名字');this.location.href='javascript:history.go(-1)';</script>"response.endend ifif request.form("content")="" then ‘你不寫(xiě)留言內(nèi)容就剝奪你的發(fā)言權(quán)response.write"<script language=javascript>alert('請(qǐng)?zhí)顚?xiě)留言內(nèi)容');this.location.href='javascript:history.go(-1)';</script>"response.endend ifset rs=server.createobject("adodb.recordset") ‘滿足以上2個(gè)要求才讓你去見(jiàn)數(shù)據(jù)庫(kù)sql="select * from gb"rs.open sql,conn,3,3
唉!文件頭也就個(gè)conn.asp沒(méi)什么防止或者過(guò)濾的,這樣就造成2個(gè)結(jié)果:第1、直接寫(xiě)一句話得到shell。第2、跨站腳本攻擊咯!先來(lái)看第一個(gè)辦法,寫(xiě)一句話(前提數(shù)據(jù)庫(kù)里沒(méi)干擾),如圖1

然后我們點(diǎn)擊“提交”,這樣我們的一句話就輸入到asa的數(shù)據(jù)庫(kù)了。我是小旋風(fēng),asa格式的文件不解析的,所以我換成asp,但是原理是一樣的,我們來(lái)看圖2

這樣我們就成功的把一句話插到了數(shù)據(jù)庫(kù)里,接著就是提權(quán)什么的。第2個(gè),我們來(lái)看xss,由xss大家要馬上想到有不有辦法拿到webshell,比如利用管理員的session進(jìn)行操作什么的,跨站得到webshell,某牛人寫(xiě)過(guò),我們來(lái)看后臺(tái)吧,后臺(tái)驗(yàn)證的還行,至少我們的萬(wàn)能鑰匙不再萬(wàn)能。片段如下:
TheAdmin=Replace(Trim(Request("User")),"'","") ‘過(guò)濾了空格,并把單引號(hào)轉(zhuǎn)換成空格Pass=Replace(Trim(Request("Pass")),"'","") ‘和上面一樣的過(guò)濾。Set Rs=Server.CreateObject("Adodb.RecordSet")Sql="Select * From Admin Where admname='"&TheAdmin"'" 再進(jìn)入數(shù)據(jù)庫(kù)操作Rs.Open Sql,Conn,1,3If Rs.eof thenResponse.Write "<Script Language='javascript'>alert('對(duì)不起,此用戶不存在!');window.location.href='Login.asp';</Script>"Response.EndElsePass1=Rs("admpass")If Pass1=Md5(Pass) thenSession("admin")=Rs("admname")Response.Redirect "Main.asp"ElseResponse.Write "<Script Language='javascript'>alert('對(duì)不起,密碼錯(cuò)誤!');window.location.href='Login.asp';</Script>"End IfEnd IfRs.CloseSet Rs=NothingConn.CloseSet Conn=Nothing
End If
沒(méi)戲看了,單引號(hào)過(guò)濾了就被掐住了我們進(jìn)后臺(tái)的辦法之一。繼續(xù)看代碼,思路現(xiàn)在整理一下,方便大家理解吧。留言過(guò)濾不嚴(yán)---à一句話入庫(kù)---àxss---à后臺(tái)驗(yàn)證很好,無(wú)法進(jìn)入-à找到配置文件的文件頭查看。2、利用漏洞1順藤摸webshell我們用默認(rèn)密碼進(jìn)去看看后臺(tái),啥白盒黑盒一起測(cè)試,測(cè)到webshell就是好tester,呵呵,廢話不繼續(xù)了,小心編輯扣小費(fèi),我們來(lái)看圖3

相關(guān)文章
Dvbbs7.1.0 cookie存在泄露絕對(duì)路徑漏洞
Dvbbs7.1.0 cookie存在泄露絕對(duì)路徑漏洞...2007-01-01google hack dat 又增加的一些比較新的數(shù)據(jù)
google hack dat 又增加的一些比較新的數(shù)據(jù)2007-01-01“灰鴿子”網(wǎng)頁(yè)木馬從原理、制作到防范(圖)
“灰鴿子”網(wǎng)頁(yè)木馬從原理、制作到防范(圖)...2007-01-01淺談SQL SERVER數(shù)據(jù)庫(kù)口令的脆弱性
淺談SQL SERVER數(shù)據(jù)庫(kù)口令的脆弱性...2007-01-01曉宇聽(tīng)幽網(wǎng)站內(nèi)容管理系統(tǒng) V2.0
曉宇聽(tīng)幽網(wǎng)站內(nèi)容管理系統(tǒng) V2.0...2007-01-01當(dāng)備份數(shù)據(jù)庫(kù)不能用時(shí).用郵件列表得到WEBSHELL!(圖)
當(dāng)備份數(shù)據(jù)庫(kù)不能用時(shí).用郵件列表得到WEBSHELL!(圖)...2007-01-01