第八届极客大挑战 Web-php绕过

0x01.web-PHP的悖论1

题目:

链接:http://game.sycsec.com:2009/10111.php

 

 

解题思路:

1.首先,web对于选择二进制方向的我这个菜鸡绝对是十分懵逼的,看到这个题目简洁明了于是想试试。

题目的意思很明了,要post两个变量使得if语句成立拿flag。

了解了一下==,===,!=和!==的含义,这里po出来,也算是一种复习了。

Tipsa==b: 意思是a和b的值相等,但类型不需要相同。

a===b: 意思是a和b的值和类型都要相同。

!=和!===的区别和上述类似。

2.大致了解了基本含义之后剖析题目,这个if语句成立的条件是s1和s2的值和类型都不相同,并且其经过MD5加密之后的值和类型要完全相同。看起来有点绕,并且毫无思路。看了一个博客就get了,附上链接http://www.cnblogs.com/weidiao/p/6821812.html

3.可以知道,如果将s1和s2都变为数组,并且值不同,便可以满足if的条件,得到flag。

 

 

顺便一提,火狐的hackbar插件可以postdata(快捷键F9),非常方便。

 

0x02.web-PHP的悖论2

题目:

http://game.sycsec.com:2009/20022.php

 

 

解题思路:

仔细看看会发现‘===’变成了‘==’,于是只需要值相等,网上搜了搜字符串不同但MD5相等,得到QNKCDZO,240610708。

于是构造payload:s1=240610708&s2=QNKCDZO得flag。

 

作者: LB919
出处:http://www.cnblogs.com/L1B0/
该文章为LB919投入了时间和精力的原创;
如有转载,荣幸之至!请随手标明出处;

原文地址:https://www.cnblogs.com/L1B0/p/7762909.html