国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 編程應用 > 正文

DVWA系列之3 medium級別SQL注入

2020-03-22 16:41:10
字體:
來源:轉載
供稿:網友
  • 將“DVWA Security”設置為medium中等級別,首先點擊右下角的“View Source”查看此時的網頁源碼,主要觀察與low級別的區別。

    image

    可以發現,這里對用戶輸入的id參數進行了過濾,主要方法是使用了mysql_real_escape_string()函數,這個函數可以將$id變量中的單引號’、雙引號”、斜杠/等字符進行轉義,因而我們再輸入之前的“’or 1=1 #”就會報錯了,從html' target='_blank'>錯誤提示中可以發現單引號’已經被轉義成了/’,因而注入語句無法發揮作用。

    需要說明的是,在PHP中還有一個與mysql_real_escape_string()功能類似的函數:addslashes(),這兩個函數的功能都是對特殊字符進行轉義,那么到底用哪個函數更好一些呢?百度了一下,發現大家也是各執一詞。有人說mysql_real_escape_string()函數需要事先連接數據庫,可能會報錯,所以推薦使用addslashes();也有的人說addslashes()過濾不夠嚴格,推薦使用mysql_real_escape_string()。在DVWA中很明顯是推薦使用mysql_real_escape_string(),那么我們就相信DVWA好了。

    下面我們分析一下這里該如何繞過過濾,繼續進行注入呢?我們再仔細觀察一下源碼,可以發現參數id已經被改為了數字型,第三行語句中“user_id = $id”,而之前的low級別是“user_id = ‘$id’”,其實這就是DVWA故意留下的一個漏洞。

    我們可以進一步進行確認,在文本框中輸入3以及1+2,發現兩者顯示的結果都是一樣的,因而可以斷定參數是數字型,這里就應該采用數字型的注入方法。

    數字型注入與文本型的最大區別就是不需要考慮引號閉合,下面我們來進行注入。

    首先輸入“1 and 1=1”,顯示正常;輸入“1 and 1=2”,顯示不正常。判斷存在注入點。

    分別輸入“1 order by 1”、“1 order by 2”,顯示正常;輸入“1 order by 3”,顯示錯誤,判斷存在2個字段。

    輸入“1 union select 1,2”判斷出兩個字段都可以代入參數進行查詢。

    再接下來的操作就與之前相同了。

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 伊春市| 潜江市| 阳江市| 景谷| 乐清市| 云安县| 延边| 广南县| 尚义县| 神池县| 彰武县| 龙游县| 巴彦淖尔市| 德兴市| 罗源县| 枞阳县| 镇巴县| 荣成市| 大化| 扎赉特旗| 酉阳| 武义县| 白山市| 濉溪县| 封丘县| 江津市| 绥阳县| 叶城县| 天祝| 保靖县| 周宁县| 兰坪| 金沙县| 民县| 青铜峡市| 雷山县| 那曲县| 玉树县| 游戏| 布拖县| 綦江县|