none
如何解決如下類的Blind SQL Injection問題? RRS feed

  • 問題

  • 各位前輩好。

    因為專案需要通過Acunetix的弱點掃描才能正式上線,
    已經將程式改成參數化查詢,不論是Select的sql,連update、delete也都改成使用SqlParameter的方式,但目前仍有Blind SQL Injection弱點約40幾個。

    剩下的Blind SQL Injection弱點描述如下類:
    1.URL encoded POST input ctl00%24Master_ContentHolder%24btnSearch was set to 3' and '3'='3。
      btnSearch 是一個ImageButton。

    2. URL encoded POST input ctl00_adpP2_content_ctl01_SelectedNode was set to -1' or '3'='3。
       ctl00_adpP2_content_ctl01_SelectedNode是Ajax所產生的hidden欄位。

    因為已經將程式中所有的sql改成SqlParameter,但仍有Blind SQL Injection弱點,因為不知道如何解決,請問各位前輩要如何解決上述的Blind SQL Injection弱點,其原理為何?謝謝。



    • 已編輯 astt 2012年2月24日 上午 02:44
    2012年2月24日 上午 02:40

所有回覆

  • 你有在SQL語法裡組字串嗎?

    2012年2月24日 上午 02:54
  • 已經將所有看得到的sql改成使用SqlParameter的方式,連update及delete的語法也改了
    2012年2月24日 上午 03:03
  • 有些弱點掃描程式輸出的結果有問題,可能只是猜測或懷疑,因為他本沒分析程式碼,只依據 url 來猜你的程式。

    我是碰過公家單位的要求沒弱點才能上線,我就請台灣代理商開證明說明他那個是善意的提醒,本身並沒說有那個弱點。

    你碰上的那套是怎樣問題要先跟台灣代理商問清楚


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。


    2012年2月24日 下午 03:55
  • 掃描結果是客戶提供的,我們本身並沒有Acunetix代理商的對口單位。
    2012年2月29日 上午 02:42
  • 可請客戶給比較詳細一點的資訊,如是那一行Code或是那一支程式有SQL Injection的問題,這樣也比較容易找到問題呀!

    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年2月29日 上午 03:42
  • 其實它有告訴我是哪一支程式的那個物件有問題,但我不知道要如何修改。

    像ImageButton或AJAX所產生的hidden欄位不知道要如何下手去修改。

    因為其實它們看起來是跟SQL沒有關係的。

    2012年2月29日 上午 08:46
  • 掃描結果是客戶提供的,我們本身並沒有Acunetix代理商的對口單位。

    http://www.bockytech.com.tw/products/Acunetix.htm

    你剛出社會嗎?直接 google 找代理商,打電話去客服要求處理即可。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年2月29日 下午 03:47
  • 請參考MSDN 提供的 SQL Injection,或許有幫助...:)
    2012年3月12日 上午 10:01