XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容
https://xz.aliyun.com/t/4507
https://prompt.ml/0 靶机
https://github.com/myxss/vulstudy
总靶场地址:https://github.com/c0ny1/vulstudy
XSS 漏洞靶场地址:https://github.com/c0ny1/vulstudy/tree/master/XSS-challenge-tour
f12查看源码,发现在图片下面存在隐藏的from表单
先删除背景照片,然后在删除表单的隐藏属性
修改from 表单,删除隐藏属性
整个from 表单缺少提交按钮,可以直接从level09 中复制过来
修改一番,添加level10 缺少的元素,修改如下
这样即完成level10的修改,给表单内添加值。点击提交
注意浏览器地址栏,发现存在提交多个参数,但是不清楚有哪些参数显示在页面当中
http://117.167.136.240:38091/level10.php?t_link=123&t_history=321&t_sort=213&submit=%E6%B7%BB%E5%8A%A0%E5%8F%8B%E6%83%85%E9%93%BE%E6%8E%A5
老操作,继续修改
这样的话就发现第三个参数会显示在页面上
尝试闭合,提交事件参数,注释,这里就不用在页面上添加按钮了,直接在地址栏中添加即可,
t_sort=123" onclick="alert(1)" //&submit
点击即可完成level10
和level 10 相同,唯一不同的位置在于多一个链接参数,这个参数正好是我们上一个页面的地址
http://117.167.136.240:38091/level10.php?t_link=123&t_history=321&t_sort=213&submit=%E6%B7%BB%E5%8A%A0%E5%8F%8B%E6%83%85%E9%93%BE%E6%8E%A5
猜测,他可能直接获取我们的http请求头中的Referer 内容,http 请求头的介绍
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referer
这里我们要用到火狐的插件 ModHeader 一款可以帮我们修改http请求信息的插件
https://addons.mozilla.org/zh-CN/firefox/addon/modheader-firefox/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search
配置如下
刷新level11 页面,插件开启状态下
发现我们referer 头的信息被传入到页面中,尝试构造poc
刷新,并点击
完成
这里我们直接使用dokcer来搭建我们的dvwa漏洞平台
直接看到dockerhub
https://hub.docker.com/r/vulnerables/web-dvwa
开启本地部署,然后使用
访问容器ip:10081
登入完成后,直接访问到我们的存储型xss平台(注意先把难度改为low)
进入存储型xss
开始进行测试,先尝试性输入一些字符,判断是否存在过滤,并判断输入后的字符输出在页面哪些地方
可以看到,在这里是没有做任何过滤信息,输入信息如下
"><svg/onload=alert(1)>(这里在做任何测试都是一样的,先检查过滤,先闭合,构造poc)
这里我们要使用到xss平台
XSS 攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序,而本平台的作用就是生成与接收 XSS 测试效果。
这里我们用的是清华大学蓝莲花战队前xss平台,具体地址
https://gitee.com/bxqtee/BlueLotus_XSSReceiver
把项目上传到服务器,解压,直接利用目录下的dockerfile文件来搭建,同时修改dockerfile文件如下
(默认运行dockerfile会直接报错,原因是原来的项目被删除了)
Docker run 启动容器
浏览器访问(注意默认访问ip+端口,会出现正常的空白页面,需要在后面加入/admin.php,输入密码即可进入xss平台后台)
默认密码(bluelotus),登入完成
其实xss平台原理很简单,只是利用
1.首先我们添加我们自己项目的js文件,如下
website 参数的值设置为xss平台的地址,注意不需要加入文件如/admin.php
2.生成我们的payload
3.复制我们的payload,黏贴到存在xss漏洞的位置
这里发现输入框的长度好像不够,可以直接通过f12来修改html属性
直接修改为空,再次黏贴
插入payload后,记得要刷新页面
回到xss平台,收到管理员cookie,如下
点击接收
modheader插件是一款简单实用的chrome http请求头添加、修改或删除请求头和响应的浏览器插件
这里我们直接添加一个request header请求头,内容就是xss平台获取到的cookie
删除掉网址后面的login.php,刷新页面,直接登入成功。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-18XDX0xa-1603371049325)(/Users/doufu/Library/Application Support/typora-user-images/image-20201022203102853.png)]
https://bitbucket.org/evnix/codoforum_downloads/downloads/
https://blog.jenisec.org/security/codoforum-xss-getshell.html
经过测试发现用户名注册处存在存储型xss,可以注册如下
``
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YwXDvrB1-1603371049326)(/Users/doufu/Library/Application Support/typora-user-images/image-20201022203917278.png)]
注册如下
"><svg/onload=alert(1)>
注册成功后,会自动跳转到用户页面
那么我们这里直接使用xss平台构造xsspayload
直接打到靶机管理员的登入地址,以及cookie信息
直接使用modheader登入,登入靶机成功
想办法getshll即可
https://xz.aliyun.com/t/4067