NUAA CTF校赛Web ezlogin

进入题目,一开始看到登录框以为是sql注入,于是在用户名和密码都输入单引号确认,发现回显no,又在用户名尝试了万能密码’1 or 1=1#密码随便输入123,发现回显了Invalid password。一番尝试没找到sql注入点但发现用户名密码相同和不同时回显不同,于是查看源码进一步分析。

Ctrl+u查看源码

看到提示说要让传入的username和password的MD5值强相等并且username和password弱相等,于是想到如果传入的不是字符串而是数组,不但md5()函数不会报错,结果还会返回null,在强比较里面null=null为true,构造payload,username[]=1&password[]=2。

然后来到如下界面:

 

http://121.5.230.65:2006/setu.php?file=setu,这样子表示可能是文件包含漏洞的考点,于是尝试读取一下源码,尝试http://121.5.230.65:2006/setu.php?file=setu.php,发现无法读取,于是尝试文件包含中的伪协议,构造payload:

http://121.5.230.65:2006/setu.php?file=php://filter/convert.base64-encode/resource=setu.php,但是发现还是读不到,一番尝试后想到一开始的?file=setu于猜测是最后加了.php,于是去掉.php的后缀后最终读到了base64加密后的源码。

Base64解密后结果如下:

 替换了../同时只有在读到特定伪协议时才加上.php后缀,进一步解题要查看提示信息。

一番尝试后用同样的方法读到了hint.php的base64加密源码,解码后如下:

有了一半flag然后提示有/answer这个文件路径,结合第二点提示用同样方法读取/answer/flagggg的base64加密后的源码,解码后如下:

 

至此就有了完整flag:NUAACTF{H3ll0_Fri3nds!}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值