xss跨站脚本漏洞
xss攻击是一种代码注入攻击,通过向网页写入恶意的JavaScript代码,在用户渲染时执行 JS 代码时,盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害
该漏洞本质上就是因为网页没有对恶意代码进行过滤,从而导致恶意代码的执行
危害
网络钓鱼,包括获取各类用户账号; 窃取用户cookies资料,从而获取用户隐私信息,或利用用户身份对网站执行操作;
劫持用户(浏览器)会话,从而执行任意操作,例如非法转账、发表日志、邮件等; 强制弹出广告页面、刷流量等; 网页挂马;
进行恶意操作,如任意篡改页面信息、删除文章等; 进行大量的客户端攻击,如ddos等;
获取客户端信息,如用户的浏览历史、真实ip、开放端口等; 控制受害者机器向其他网站发起攻击; 结合其他漏洞,如csrf,实施进一步危害;
提升用户权限,包括进一步渗透网站; 传播跨站脚本蠕虫等
分类
反射型xss
用户访问个带有XSS代码的URL请求时,服务器端接收数据后处理,然后把带有XSS代码的数据发送到浏览器,浏览器解析这段带有 XSS
代码的数据后,最终造成 XSS漏洞。这个过程就像一次反射,故称为反射型XSS。这种漏洞很常见,挖洞平台一般不收
存储型xss
攻击代码存储在数据库中的持久性XSS攻击,不需要用户手动触发,只需访问带有恶意代码的页面时,这段
DOM型xss
接受输出均在JS实现,通过JavaScript可以重构整个HTML,通过修改受害者浏览器页面的DOM树而执行的
//与反射型xss的区别:不经过服务器,仅仅是通过网页本身的JavaScript进行渲染触发的
突变型xss(MXSS)
由于编码等问题导致Payload变异而产生的一种类型的XSS
通用型xss(UXSS)
浏览器或浏览器扩展的漏洞导致,出现的案例很少,很久才爆出一个
PDFxss
原理:
调用pdf中的模块往里面写入xss代码,再通过阅读器中提供的Javascript相关功能,进行攻击;
方法:
先创建PDF,加入JavaScript动作,再通过文件上传获取直链,访问直链地址后被触发
1.用迅捷PDF编辑器打开PDF,打开页面缩略图
2.打开在缩略图中右键打开页面属性,在动作中添加JavaScript代码
3.将pdf上传到直链或者服务器上,当被访问就立即触发xss
PDF中的可利用函数:
在pdf阅读器支持的所有Javascript函数中以下函数在实际应用中,还是可以对用户的使用造成一些困扰:
app.launchURL()、app.media.getURLdata()、app.alert()、app.execDialog()、doc.getURL
注:火狐浏览器无法触发PDFxss