by lake2 (http://lake2.0x54.org)
上回滲透一站點,SQL Injection測試時返回這個頁面(圖1)
我暈,原來服務器上裝了一個叫“一流信息監控攔截系統”的BT玩意兒,掃興!查查它老底先。
Google一下“一流信息監控攔截系統”。原來這是廣州××信息科技公司開發的內容監控系統,用來監控攔截非法信息的,當然也包括SQL注射。它主頁上軟件功能介紹赫然寫著:“軟件可以全面攔截任何的SQL注入式的攻擊,就算多差的程序都不用擔心了”。嘿嘿,大哥,牛皮不要吹得太大喲,不然怎麼好下台啊。
看他把話說得那麼絕,我一定要給他點顏色瞧瞧。呵呵,不是說只有想不到沒有做不到麼,嗯,讓我想想先。網上沒有找到那軟件下載,算啦,就直接在網站上測試好了。
經過幾回合測試,我發現那個軟件是攔截獨立的關鍵詞,也就是攔截字符串“and”,而不會攔截包含“and”的字符串如“island”。提交http://xxx/x.ASP?x=island 1=2時沒問題,而提交http://xxx/x.asp?x=a and 1=1時就被攔截了。
呵呵,明白了吧,實際上程序要判別到底是不是完全匹配真正攔截的字符串是空格+關鍵詞+空格(本例中就是“ and ”)。如果用ASP代碼表示的話就是:
If Instr(1 , StrQuest , “ and “ , 1) Then
Response.Write( “一些廢話” )
Response.End
End If
攔截原理搞懂了,問題是怎麼突破呢?往下看。
[1] [2] 下一頁
關鍵字是要注射要用到的,亂動不得,就只有從空格入手了。呵呵,想想什麼東東可以代替空格啊,對,就是Tab!現在我修改URL用tab代替and前後的兩個空格,呵呵,看看圖2吧(Tab -->“%09”,空格 -->“%20”)。
Yeah,成功啦!傳說中的一流信息監控攔截系統被我們繞過去了。哈哈,那個什麼系統正好是個漏洞百出的Web程序,呵呵,繼續如法炮制進行SQL注射拿管理員帳號密碼得WebShell,那些都是體力活了,略過略過。
有了WebShell,執行“net user”命令又被他攔截了(這個可惡的家伙……),呵呵,小case啦,那就執行“net user”(中間兩個空格)吧^_^
當然這種用Tab代替空格突破限制的方法也不僅僅局限於“一流信息監控攔截系統”,只要是類似的過濾方法就行。比如說青創文章系統(Version 1.5.2.23.7.0),它就是這種過濾方法,但是還過濾了“_”,而它的每個表都是article_xxx的形式,結果還是不能進行猜解。罷休!
最後順便說下,一流信息監控系統“可以實時監控用戶上傳到服務器的每一張圖片”、“對使用服務器的用戶進行關鍵字監控,無論是通過 FTP方式上傳或web方式上傳的文件都可以准確監控,將不法用戶的行為記錄在案”等功能,好像侵犯隱私權了……
上一頁 [1] [2]
關鍵詞: