XSS渗透与防御
http复习
#请求方式
get:请求从服务器获取资源
head:获取报头,与get类似,知识不返回数据实体
post:向服务器提交数据
put:替换服务器内容
#http特点:请求应答模式,灵活扩展、可靠传输无状态 stateless
#cookie的特点:
1、明文
2、可修改
3、大小受限(视浏览器而定)
cookie的用途:
1、记住登录状态
2、跟踪用户行为
#服务端的session
cookie保存在客户端
session保存在服务器
#JavaScript操作cookie
利用插件cookie editer来整体搬移cookie
#JavaScript语法(在浏览器console中操作)
获取:document.cookie;或者(alert(document.cookie))弹窗显示
设置:document.cookie="username=wuya";
修改与删除则只能以新盖旧的形式操作
xss脚本注入网页
#脚本注入网页:xss
利用hackbar进行注入
#XSS类型:
1、存储型xss:脚本保存在服务器内(服务端)
2、反射型xss:单次请求,单次获取
#获得cookie发送邮件
在网页或文章中插入脚本,通过脚本内写好的邮箱,当别人浏览或评论网页或文章时,攻击就会形成,利用邮箱获取对方cookie值。
DVWA靶场xss
xss(reflected) low (<script>alert('xxx')</script>)
• medium (可以以双写或大小写绕过)
• high (img src="xxx" onerror="alert("xss")")
XSStrike
在kali中xsstrike得python版本配置切换 vim ~/.bashrc 可以看到python版本切换命令
检测xss漏洞
使用xsser或xsstrike
防御xss漏洞
使用正则表达式
| 入口 | 出口(发送给服务器) |
|---|---|
| 识别:正则:<script>; 处理:<scr_ipt> 也可以使用modsecurity等waf工具对xss类跨站脚本攻击进行阻止 | echo ""; document.write(); 处理使用htmlspecialchars函数对其进行转义为实体符 |