学习笔记(XSS基础)

壤驷骁
2023-12-01

XSS的危害
网络钓鱼,包括盗取各类用户账号
窃取用户cookie
窃取用户浏览会话
强制弹出广告页面,刷流量
网页挂马
提升用户权限,进一步渗透网站
传播跨站脚本蠕虫

JS基础知识(w3cschool)
document对象

document是一个对象,从JS一开始就存在的一个对象,它代表当前的页面(文档)
调用它的write()方法就能向该对象中写入内容
例:document.write()
可以再html引用外部js代码

<script src = x.js></script>

js代码中写入
document.write(“hello”)

JS变量
定义变量
var 变量名;
var x;
var a=1;
var b=“hello”
var c=True;
var d=a+10;

选择语句
if(){
}
else{
}

switch(){
case x:break;
case y:break;
}

循环语句

for(同java){
}
while(){
}

函数
function x(a,b){
var c = a+b
return 0
}
var xx = x(1)
conseole.log(xx)

时间
onclick属性 点击事件
function x(){
alert(/xss/)
}

<h1 onlick = "x()">hellow</h1>

XSS分类

反射型
存储型
DOM型

反射型
反射型跨站脚本也称作非持久型、参数型跨站脚本,这类型的脚本是最常见的,也是使用最广泛的一种,主要是用于恶意的脚本附加到URL地址的参数中
例如

http://网站/?payload = "><script>alert("xss")</script>"

一般使用的将构造好的URL发给受害者,是受害者点击触发,而且只执行一次,非持久化

存储型
存储型XSS比反射型跨站脚本更具威胁性,并且可能影响到web服务器的自身安全

此类XSS不需要用户点击特定的URL就能执行跨站脚本,攻击者事先将恶意JS代码上传或存储到漏洞服务器中,只要受害者浏览包含此恶意的代码的页面就会执行恶意代码

常用XSS调试插件(firefox)
Hackbar
Firebug
Tamper Data
Live HTTP Headers
Editor Cookie

XSS漏洞挖掘
手工挖掘
工具挖掘

手工挖掘

在数据交互的地方进行探测
如get传参

闭合标签:

""></tr></td></div></textarea><script>alert(abc)</script>

工具挖掘
awvs
netsparke
appscan
burp
xsser
xsscrapy
brutexssr
OWASP Xenotix

绕过替换函数

$x=preg_repalce("/script/","",$x)

用大小写Script绕过

$x=preg_repalce("/script/i","",$x)

双写绕过script

有时可以对语句hex编码进行绕过

反正栏什么绕什么

cookie
反射型cookie获取
借助XSS平台获取cookie
用cookie注入工具进行利用

如果网站启用http-only就接受不到cookie
那就去钓鱼吧
伪造登录后台页面

 类似资料: