wechall writeup(1)

order by query PHP

看关键代码:

这里有个php trick

order by 注入总结:

http://www.jinglingshu.org/?p=10105

报错注入:http://joychou.org/index.php/web/SQL-Injections-in-MySQL-LIMIT-clause.html

  • 首先确定是可以进行注入攻击的:

会返回所有数据,并升序排列。

  • 利用

由于无法使用union来获取数据,便只能盲注或者报错注入。

本来可以:

这样盲注,但是由于题目有限制,所以这里使用盲注直接得到数据比较方便。

来个花式的另一种报错注入方式:

可以获取数据库名称为gizmore_as2

然后是老套路:

0x67697a6d6f72655f617332可以绕过单引号,表示数据库名gizmore_as2。得到表名users

得到列名为password

最终得到名字和密码:

GDO Error(1105): XPATH syntax error: ':Admin:3C3CBEB0C8ADC66F2922C65E7'

basic rewrite HTTP

题目简单要求搭建自己的webserver,使用Docker搭建下。后面个题目需要用到大数据加法,于是就这样了:

Dokerfile:

docker-compose.yml:

写个脚本,让wechall访问:

reset to time PHP

可以和0ctf2016那个random进行对比。那个更加难一点,参考:
http://www.mscs.dal.ca/~selinger/random/

本题是用了时间作为种子,于是我们只要爆破出时间种子即可。代码如下:

得到种子后,结课得到后面生成的验证token。

addslashes

are you serial

一个简单的反序列化问题,如下脚本生成一个序列化对象即可:

net ports

发现了curl一个有意思的参数: