SQL注入之sqlilabs靶场21-30题

重点插入:html表

第二十一题

分析过程:(没有正确的账号密码是否能拿到Cookie?最后注释好像只能使用#,--+好像无法注释)

查看源码

这里输入账号密码处被过滤了

但Cookie被base64编码了

可以从Cookie入手

输入正确的账号密码,可以发现Cookie出,uname进行了base64编码

所以我们注入语句也要采用base64编码

用bp抓包,拿到Cookie值,

添加单引号的转义符,位数不够用空格补全

根据报错信息判断为单引号带括号注入

之后将报错盲注转换为base64格式即可

报错盲注:

第二十二题

分析过程看第二十一题

Cookie的base64编码

admin"进行base64编码

判断为双引号注入

第二十三题

get注入,报错显示未单引号注入

进行SQL注入会发现输入的内容全报错,可能是注释被过滤了,查看源码

学习:注释被过滤如何闭合

可以使用单引号闭合:

?id=1' or '1'='1

闭合后:?id=1' or '1'='1'

联合注入语句: ?id=1' union select 1,2,3 or '1'='1

判断列数时用order by好像没什么效果,可以用select 1,2,3 逐个判断列数

联合查询详解请看第一题

第二十四题

我的疑问:二次注入如何环境搭建获取数据库信息

二次注入

参考博文(非常详细):http://t.csdnimg.cn/BgbRO

http://t.csdnimg.cn/UIPQe

一个登录页面,可以注册账号,也可以找回密码

登录成功后可以修改密码

点击忘记密码:提示字符(如果你忘记密码,请破解它)

查看源码,账号密码被转义,无法注入

注册账号界面,注册admin'#,注册成功

'被转义,但是存放到了数据库中

二次注入就是放到数据库数据被过滤,但是从数据库再把信息拿出来则不会被过滤

登录后修改密码

这时候注入则不会被过滤,输入admin'#的原理就是#号后面的内容被注释了,‘与前面的’ 闭合了,就直接上传admin了

第二十五题

更正:本题为双写绕过,所有的and和or都会被替换为空,但只替换一次,可以采用双写绕过,如order by 改为 ororder by

提示:

根据报错信息,判断为单引号注入

输入and or均被过滤

查看源码

之后的注入可以使用联合查询

第二十六题

第二十六关将逻辑运算符,注释符以及空格过滤

单引号注入

第二十六a题

绕过技巧:

1.空格绕过

%09 TAB键(水平)、%0a 新建一行、%0c 新的一页、%0d return功能、%0b TAB键(垂直)、%a0 空格,

学习文章:http://t.csdnimg.cn/vn0ti

SQL注入绕过技巧 - 奔跑的snail - 博客园 (cnblogs.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值