Xss多种姿势

xss攻击

字符编码

firefox下某参数为%c1\"alert(/xss/)
var username="";alert(/xss/)

绕过长度限制

location.hash
http://www.test.com#alert()
onclick='eval(location.hash.substr(1))
注释
多个input把中间注释><!--   -->
base标签
<base href="https://www.baidu.com"/>
<base target="_blank" />
<img src='test/img.jpg'/>
window.name
window.name存储payload,eval实现执行
window.name="alert(1)"
eval(name);

flash xss和 js框架poc也是很有参考价值的。

xss防御

httpOnly

禁止js访问带有httpOnly属性的cookie

java ee
response.setHeader("Set-Cookie"),"cookiename=value;Path=/;Domain=domainvalue;Max-Age=seconds;HttpOnly");
c#
HttpCookie mycookie=new HttpCookie("myCookie");
mycookie.HttpOnly=true;
Response.AppendCookie(mycookie);
php5
setcookie("abc","test",NULL,NULL,NULL,NULL,TRUE);

需要注意的是Apache服务器header的TRACE

输入检查

特殊字符输入检查,xss filter

输出检查

编码或转义

编码

可以参考owasp中esapi的Html Encode,JavaScript Encode
python的web2py框架
encodeURI等

富文本

对于<a><img><div>等安全标签使用白名单,对于<iframe><script><base><form>等应当严格禁止。

防止dom based xss

需要注意这些函数

document.write()
document.writeln()
XXX.innerHTML=
XXX.outerHTML=
innerHTML.replace()
document.attachEvent()
windows.attachEvent()
document.location.replace()
document.location.assign()
......
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值