Web安全--XSS(跨站脚本攻击)

前言:自学笔记,大佬勿喷!!有错误还请指出。 

0x00 漏洞原理

攻击者向web页面插入恶意可执行脚本代码,当用户浏览该页面时,嵌入到web页面的恶意代码就会被执行,从而达到攻击者盗取用户信息或侵犯用户安全隐私的目的。

0x01 漏洞产生条件

寻找参数未过滤的输出函数

漏洞类型:

反射型:需要用户点击链接才能触发(一次性),一般出现在搜索页面

存储型:代码存放在服务器中,一般在个人信息或留言等地方,每当访问该页面就会触发代码(具有很高隐蔽性)

DOM型:处理后的结果会成为页面的一部分,不提交数据到服务器,从客户端获得DOM中的数据在本地执行。

区别(代码层面):

反射型:发送一次带有xss代码的请求,只在当前数据包会有xss代码

存储型:发送一次带有xss代码的请求,以后在这个页面数据包都会有xss代码

DOM型:发送一次带有xss代码的请求,数据包中没有xss代码

0x02 漏洞危害

1.盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号

2.控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

3.盗窃企业重要的具有商业价值的资料

4.非法转账

5.强制发送电子邮件

6.网站挂马

7.控制受害者机器向其它网站发起攻击
8.结合其他漏洞,如csrf,实施进步危害;
9.提升用户权限,包括进一步渗透网站
10.传播跨站脚本蠕虫等

0x03 绕过思路

00 大小写绕过

<script>alert(/1/)</script>  -->  <ScRiPt>alert(/1/)</ScRiPt>

01 双写绕过

 <script>alert(/1/)</script>  -->  <scr<script>ipt>alert(/1/)</sc<script>ript>

02 js伪协议

javascript:alert('xss')  -->  java script:alert('xss'); 

03 编码

base64编码:

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

PHNjcmlwdD5hbGVydCgvMS8pPC9zY3JpcHQ+ 

JS编码:

Uncode编码
\u00+16进制

16进制
\x+16进制

html实体编码:

&#  +  10进制/16进制+;

0x04 修复建议

1、使用httponly,开启了httponly后,无法使用js读取到cookie

2、对用户的输入进行过滤,如过滤"<"">""script"等等

3、对输出进行编码,如html编码、js编码等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值