xss相关【面试题】

请添加图片描述

前言

本篇文章主要收集和XSS漏洞相关的面试题,持续更新,当然由于博主的时间不太充裕,可能更新会不是很及时,但是相信我,再晚,他都会来!
特别要求各位读者朋友关注我的博客,或者关注我的微信公众号:小白学IT

面试题

1、XSS漏洞的原理

xss的本质是javascript代码执行,所以说原理就是用户在可控参数输入恶意的js代码,然后该代码被执行成功

2、如何验证存在xss漏洞?

第一步,寻找用户可控的参数(输入点)
第二步,测试特殊符号,单引号、双引号、尖括号等是否被过滤或处理
第三步,根据第二步测试结果进行操作,如过滤了事件类型的关键字,构造新的script标签去形成新的js环境,或者针对一些其它防护进行绕过
我常用的测试方法

123456'"<>

3、xss有哪几种类型?

1、DOM型XSS
2、反射性型XSS
3、存储型XSS

DOM型XSS
攻击者将带有恶意js代码的参数传递到网站的前端页面中,该代码不会传入服务器直接在客户的浏览器执行。
反射性型XSS
攻击者将带有恶意js代码的参数传递给网站,经过服务器的然后返回到客户端,在客户的浏览器执行。
存储型XSS
攻击者将带有恶意js代码的参数传递给网站,经过服务器存储在数据库中,任何一个客户端在访问该条数据时,恶意的js代码都会在该客户端的浏览器执行。

4、xss可以产生哪些危害(能干什么)?

1、盗用用户的COOKIE
2、修改DOM
3、插入广告(黑页等)
4、发动xss蠕虫攻击
5、劫持用户行为,进一步渗透内网

5、怎么防御XSS?

1、对所有的输入值进行编码
2、使用白名单的过滤,如手机号只能是11位1开头的数字
3、使用黑名单,将各种特殊字符进行过滤(容易被绕过)
4、设置Cookie的httpOnly为true
5、使用w3c提出的CSP(Content Security Policy,内容安全策略),定义域名白名单()这样就无法加载第三方js了

6、举几个XSS攻击案例?

1、2005年19岁的Samy Kamkar对MySpace.com发起XSS Worm攻击,几小时内,感染上百万用户
2、2007年12月,百度空间遭受蠕虫攻击,用户之间开始转发垃圾短消息
3、2011年新浪微博曾遭受xss攻击(点击链接会自动发送一个连接出去,攻击逐渐扩大,属于蠕虫攻击)
4、QQ邮箱发现反射性xss漏洞

7、DOM型XSS测试方法?

寻找类似doucument.write、innerHTML赋值、outterHTML赋值、window.location操作、写入javascript:后内容、eval、setTime、setInterval等直接执行之类的函数点
思路
寻找变量,回溯变量来源是否可控,是否经过安全过滤。

8、说几个修复XSS漏洞的建议?

1、在服务端进行输入检测,过滤特殊字符
2、对输出内容进行编码转义
3、在html中进行HTMLEncode,javascript中进行JavaScriptEncode,对使用javascriptEncode的变量都放在引号中并转义特殊字符,data部分就无法逃逸出引号成为代码中的一部分了,再严格一些,对所有字母之外的字符使用十六进制编码。
4、设置httponly为true

9、列举一些XSS绕过安全限制的方法(bypass)

以下只做思路展示
1、过滤script的情况(只过滤一次)

<scrscriptipt>alert(1)</scscriptript>
<ScRipt>alert(1)</ScRipt>

2、对不能构造script标签的情况下
使用事件进行绕过

<input  value='123' onclick='alert()'>

超链接绕过

<a src=javascript:alert()>123</a>

还有很多,改天拿靶机针对环境说明进行补充吧,今天太晚了,先睡了!

最后

欢迎各位老铁关注我的CSD或者微信公众号:小白学IT

请添加图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42380348/article/details/121985620