国产探花免费观看_亚洲丰满少妇自慰呻吟_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編程

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

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 五指山市| 光泽县| 海城市| 鄂伦春自治旗| 象州县| 文登市| 东至县| 洛扎县| 建平县| 论坛| 乐平市| 开平市| 西乡县| 新巴尔虎左旗| 昌乐县| 福安市| 玉屏| 孝昌县| 望江县| 延庆县| 桃源县| 敦化市| 甘南县| 涟源市| 威宁| 三都| 文水县| 叙永县| 鹿泉市| 阜城县| 七台河市| 朝阳市| 德化县| 阿城市| 称多县| 江北区| 南涧| 庆安县| 新民市| 新民市| 商河县|