白帽子讲web安全笔记-xss总结

xss攻击的本质就是攻击者构造的javascript代码得到执行,任何javascript能做到的事情,xss payload都能做到。如果执行的时候恰好也是处于受害者登录的状态,那么危害将更为严重。

有三种形式的xss

反射型xss

用户输入的内容被提交给服务器后,又返回到客户端得到执行

存储型xss

用户输入的内容被提交给服务器后,被保存到数据库,然后当从数据库查询返回的时候,xss payload得到执行

DOM based xss

产生这类xss的本质原因是,在设计web应用程序的时候,就相信用户的输入。所以会在前端的javascript代码使用用户控制的输入,并输出到html中,并且从头到尾都是在客户端,没有和服务器的交互。
所以,不相信用户输入是该在设计应用的时候就要有的意识。

防御xss

最好的办法是使用安全编码,有三种类型的安全编码,Urlencode,javascriptEncode,htmlEncode。对于用户可以控制的输入变量$var,如果是输出到url,就使用Urlencode,如果是输出到事件或者脚本,就使用javascriptEncode,如果是输出到html内容或者属性,就使用htmlEncode。

利用xss

1.诱导受害者点击一个恶意链接,这个恶意链接或者包含恶意js代码,或者跳转到包含恶意js代码的页面。
2.存储型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值