原理、分类和其他
XSS跨站脚本攻击指恶意攻击者在Web页面中插入恶意javascript代码(也可能包含html代码),当用户浏览网页之时,嵌入Web里面的javascript代码会被执行,从而达到恶意攻击用户的目的;
原理
在变量接受数据的时候,如果接受的数据被执行了,那么就产生了xss漏洞
分类
反射
网页有输入内容且会回显输入的内容;不会触碰对方服务器;若前端有输入限制,修改前端语句或者直接在url输入代码
存储
存储的攻击会一直持续到代码被删除;和服务器有交互
DOM
点击html中的超链接,执行超链接里js定义的dom函数;参考展示更多;触发xss的本质是本地浏览器;与存储方式不同的是存储是服务器处理,而DOM是前端处理
区分模型
其他
大部分是cookie作用;
cookie是用户的凭据,存储在浏览器中,一般盗取cookie都是盗取管理员的;前提是:1.对方有漏洞;
2.不会阻止脚本运行;3.盗取的cookie对方有登陆过
session也是用户的凭据;但二者区别在于:cookie存储在本地,存活时间长,适用于中小型网站,较session不安全一些;而session存储在服务器,存活时间短,适用于大型网站,如需要过段时间进行重新登陆的网站
如果对方会主动触发代码的话,可以尝试使用xss跨站
shell箱子反杀
webshell箱子管理系统
从后门控制网站,通过后门把网站地址及账号密码发送至webshell箱子管理里面;修改账号密码为xss代码,获取cookie放入到postman工具中使用,进入管理员权限
如何判断文件有无后门
url中不仅有目标地址还有自己的地址以及可能加密的密码,第一个地址是webshell箱子网址;将网站或密码修改为跨站脚本
Beef工具
command-broowser-hooked domain-get cookie获取cookie;redirect browser修改对方当前访问的网站
phpsessid
有sessid能入侵,反之不能
如果对方采用session验证,则盗取cookie是不成功的;用xss网站生成对方源码的代码拿到后ctrl+f搜索cookie,但依旧是获取他本地的而不是服务器的,创建phpinfo然后用beef跳转页面到phpinfo
代码及http only绕过
http only
如果cookie中设置了http only则对方无法通过js脚本获取cookie信息;防止xss攻击而不是漏洞,利用漏洞成功但没有cookie表面设置了http only;在php.ini中session.cookie_httponly=设置为1或true开启全局属性;
只会阻止js读取后台服务器创建的cookie,不会阻止前台js自己创建的;
http only限制了cookie则通过对方保存登录的密码:
保存读取
产生在xss后台,xss网站创建(浏览器记住的明文密码)
非保存读取
需要xss产生登陆地址,再进行表单劫持;抓数据包,把数据再发送到跨站平台(登录框)
XSSlabs小提示
1.选中代码用检查看代码在哪个标签当中,闭合语句;
2.修改代码标签,用鼠标选中作为参数,属性值为js语句;
3.闭合,超链接;大小写绕过;循环过滤,双写;unucode编码绕过;
4.如果有隐藏区域则修改type属性值并添加js语句;
5.抓包添加参数;
XSS跨站中的csrf
首页文件加入代码<script src='语句'></script>;语句中有账号密码参数,此时如果管理员点击了该文件,则语句中账号密码也会变成管理员的账号密码也就相当于有了管理员的权限
检测来源:是否属于同一域名
waf绕过及安全修复
常规waf绕过思路
标签语法替换;特殊符号干扰;提交方式更改;垃圾数据溢出;加密解密算法;结合其它漏洞绕过
关键词拦截
script和onclick;两个标签的首字母并且两个单词在闭合中,则直接拦截;大小写绕过+src网站用单引号绕过+不闭合;垃圾数据;干扰符号添加/;更换提交方式
fuzz下xss绕过waf
xssfuzzer.com自动生成payload
安全修复
httponly,输入过滤,输出过滤等
java:www.cnblogs.com/baixiansheng/p/9001522.html
标签:总结,XSS,跨站,xss,代码,js,cookie,绕过 From: https://www.cnblogs.com/BWTY/p/17139102.html