GJCTF 官方WP WEB部分(2)

1、题目链接:http://www.czlgjbbq.top/GJCTF/extract.php

首先WEB题的常规思路,右击查看源代码。
GJCTF 官方WP WEB部分(2)
发现部分代码泄露。很明显的变量覆盖漏洞。
这里可以使用火狐的hackbar插件或者是自己写一个python脚本。在传递Password的同时,同时传递一个thepassword_123即可。这里的thepassword_123的值要和表单传入的Password值相同。
GJCTF 官方WP WEB部分(2)

2、题目链接:http://www.czlgjbbq.top/GJCTF/easy_sql1.php

通过url很容易猜到这是一道考察SQL注入的题。常规操作,查看页面源代码。因为要充分考虑源码泄露的问题。
GJCTF 官方WP WEB部分(2)
发现页面源代码,存在SQL注入问题。
考察万能用户名登陆,注意闭合。PAYLOAD很容易就写出来了。

PAYLOAD:
admin’)# 或 admin’)–

GJCTF 官方WP WEB部分(2)

3、题目链接:

http://www.czlgjbbq.top/GJCTF/input.php
右击查看页面源代码:
GJCTF 官方WP WEB部分(2)
发现源码泄露。这里很明显是一个文件包含漏洞,而且要求包含的文件内容为getflag。这里有两种包含方法。一种是利用php://input伪协议,还有一种就是利用data://伪协议。

方法一:php://input伪协议。如果是直接在表单输入的记得审查元素去掉readonly属性……

GJCTF 官方WP WEB部分(2)

值得注意的是,使用hackerbar插件的时候,如果要传的参数仅为getflag,那么需要抓包拦截,并删掉后面的=undefined参数,
GJCTF 官方WP WEB部分(2)
才可以拿到flag。
GJCTF 官方WP WEB部分(2)

方法二:data协议GJCTF 官方WP WEB部分(2)

GJCTF 官方WP WEB部分(2)

4、题目链接:

http://www.czlgjbbq.top/GJCTF/passwordrenew.php
先随便提交个值,题目要求更改admin密码,那就更改用户名为admin把。发现url中有一个base64加密过的base64加密过的user_check参数。值为GJCTF,这个时候我们传入admin,获得base64加密过的值,传入。
GJCTF 官方WP WEB部分(2)
GJCTF 官方WP WEB部分(2)
直接拿到flag值。

5、题目链接:http://www.czlgjbbq.top/GJCTF/easyaduit.php

本题比较综合。考察点为REQUEST变量覆盖、MD5绕过、file_get_contents写入、正则绕过。参考了南邮的NCTF 2018的easyaduit,但是他们环境没了。。所以我就自己搭了一个==
首先REQUEST变量可以使用POST和GET变量同时覆盖,即当POST和GET参数名字相同时,REQUEST只能接收到POST参数并处理,并不会处理同名GET参数。正则和MD5以及substr都可以通过数组来绕过,这里算NULL绕过了。
file_get_contents可诸如的方法有data://和php://input两种,但是由于正则过滤的原因,导致POST值会被正则拦下,所以php://input无法使用,因为POST参数会被处理,所以只能使用data://协议。
这里直接放出payload。
GJCTF 官方WP WEB部分(2)

其他部分wp将随后放出,各位如果有什么好的题目也可以私信我,我来将这些题放到平台上。
QQ:1152193204

相关文章: