一些知识
vim泄露
- 由于文件意外关闭产生的swp文件如果用notpad打开是乱码,可以在linux系统中被vim -r fielname恢复,同理,Ds_Store文件也可以在linux中被cat查看
filegetcontent绕过
- 此函数有两种伪协议绕过,php://input(暂未测试)和data://text/plain;base64,输入内容
- 在moectf中关于伪协议的总结没有提到data协议的传参可以在地址栏中传入,
data://text/plain
是固定格式,base64
是可选的编码格式,输入内容
可以在post中传入也可以在地址栏传入(post莫名奇妙没成功)
关于eval中的#的绕过
-
eval("#".$_GET['cmd']);
-
绕过方式为
cmd=?><?=system("ls");
不能不写system函数,也不能用eval(不知道为什么)
wp
http
- get传一个name,post一个key(key藏在页面源代码里的),伪造cookie是admin,xff伪造本地登录即可
Head?Header!
- 需要用ctf浏览器打开,bp抓包伪造ua,注意:伪造后其他系统信息必须删除
我真的会谢
- flag被分成3部分藏在3个文件中,(好像是因为服务器问题)dirseach扫描不出来,最后结果是藏在根目录下的robots.txt,www.zip和.index.php.swp(只有这个可以扫描出来)文件中
NotPHP
- 进入可以得到flag的函数需要通过三个if,第一个if可以用data协议绕过(见上),第二个通过数组绕过md5校验,该函数处理数组时会返回空值,第三个通过弱相等绕过,2077a=2077,此时就可以进入eval函数了,闭合#(方法见上)后,传入ls查看,没有flag,查看根目录有flag,cat /flag即可
Word-For-You
- 一个奇怪的sql注入,用
1' or sleep(3)#
发现存在注入,然后1' or 1=1#
就可以莫名其妙的把所有数据输出出来了.