XSS学习

什么是XSS?

CSS(Cross Site Scripting)–>XSS

XSS攻击通常指通过网页开发留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。

XSS攻击目标:前端脚本解析器,比如浏览器的Javascript解析引擎

BS架构:browser<->(http)server

如何发现XSS:

XSS利用思路和步骤:

1.找到输出点,以及两者共存的情况,或者根据输入点猜测后台输出点位置及触发条件(盲X)
2.构造playload,尽量一次性成功
3.观察闭合。过滤和拦截情况
4.如不成功,重复第三,四步

XSS修复思路:

黑名单策略:

1.html实体编码转移,“ and ’ and / and /and <> and script

2.采用成熟的防XSS网站框架(参考OWASP网站)

3.服务端添加http-only头下发到客户端(防止cookie窃取)

4.采用最新版本浏览器

白名单从策略:

1.使用白名单写死允许的标签和事件规则

JS基础:

1.js事件:

onclick()
onmouseover="javascript:alert(1)"

2.console.log() 控制台输出
3.js注释符:// 及其危险,尽量少用,只能注释当前行

4.绕过alert:promot/console.log

XSS平台模板:

1.第一个弹框:

alert和onfirm功能是一样的

<script>alert(1)</script>
<script>confirm(1)</script>

2.js控制台输出:

<button type="button" onmouseover="console.log(document.cookie)">点我</button>

3.鼠标移动弹窗:

有时候input是隐藏的,所以可以:name=" οnmοuseοver=“alert(1);” type=“text”

onmouseover="javascript:alert(1)"

4.超链接:

<a href=javascript:alert(1)>超链接</a>

5.重构input输入框:

<input type="name" onclick="alert(1)">
<input name="keyword" value="" onmouseover="alert(1)"> //通过事件

绕过姿势:

1.html实体编码绕过

2.大写小写交替绕过


 <a HeReF=javascript:alert(1)>xxx</a>
       ```

   3.双写绕过,

​                    如scrscriptipt,

  4.生僻函数绕过

# XSS危害:

盗取cookie,废掉页面,弹出窗口,导航到恶意网站

监控键盘操作,模仿windos注销界面








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值