美文网首页Web安全
前女友(SKCTF)

前女友(SKCTF)

作者: 胖佳儿Clara | 来源:发表于2018-09-05 19:46 被阅读0次

打开源代码,出现code.txt

if(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){
    $v1 = $_GET['v1'];
    $v2 = $_GET['v2'];
    $v3 = $_GET['v3'];
    if($v1 != $v2 && md5($v1) == md5($v2)){
        if(!strcmp($v3, $flag)){
            echo $flag;
        }
    }
}
?>
  • isset()函数用于检测变量是否已设置并且非NULL.
  • strcmp() 函数比较两个字符串.
    如果两个字符串相等,返回0
    如果 string1 小于 string2,返回<0
    如果 string1 大于 string2,返回>0

根据v1 !=v2 && md5(v1) == md5(v2):

  • 姿势1:v1,v2 找到两个开头为0的md5值,例如:v1=s878926199a&&v2=s155964671a
  • 姿势2:根据md5函数特性,用两个值不同但不可md5的数据类型,例如:
    v1[]=1&&v2[]=2

根据 if(!strcmp(v3,flag))
需要v3和flag值相同才返回flag的值。此处依旧利用函数特性,strcmp函数如果出错,其返回也是0,不可比较时出错,传入数组,例如:
v3[]=8.

综上,构造:
?v1=s878926199a&&v2=s155964671a&&v3[]=8
可得到flag

相关文章

  • 前女友(SKCTF)

    打开源代码,出现code.txt isset()函数用于检测变量是否已设置并且非NULL. strcmp() 函数...

  • bugku前女友(SKCTF)

    emmmm,打开题目是这样子的,天啦,连做题目都要提到分手这个伤感的主题,好了认真做题。 打开源码发现链接是转到另...

  • bugku总结

    身为在安全里摸着石头过河的菜鸟,做了这么多bugku的题,是时候来一次总结了。 login1(SKCTF) (sq...

  • bugku login1(SKCTF)

    打开之后我先注册了一个账号尝试,然后跳出来不是管理员还想知道flag,因此账号一定要是管理员啊,我注册一个admi...

  • bugku login3(SKCTF)

    进入网页,进行登陆尝试,发现用户名是admin,但是不清楚密码,因此应该是通过用户名来进行注入。并且发现and是被...

  • Bugku CTF login2(SKCTF)

    抓包获得源码 代码中的单双引号的嵌套,其中username和password列名在数据库中是存字符串的,而字符串是...

  • 男朋友的前女友联系他是什么心态?

    男朋友和前女友分手是他的前女友提出来的。前女友已经结婚了,最近和老公闹矛盾就和我男朋友联系。说自己的老公和前女友联...

  • login1(SKCTF) (sql约束攻击)

    题目 背景知识 最近,我遇到了一段有趣的代码,它尝试尽一切可能来保护数据库的访问安全,例如每当新用户进行注册时,将...

  • 借钱

    前女友:在不? 我:在,备胎随时在,处处在。 前女友:说正事呢,我姐又问我借钱,要两万。 我:不借。 前女友:可是...

  • 我的前女友前前女友前前前女友

    我的前女友 前前女友 前前前女友 都是天使 目光清澈 翅膀雪白 可是后来 只剩下我自己 通身是伤 蜷缩于黑暗的角落...

网友评论

    本文标题:前女友(SKCTF)

    本文链接:https://www.haomeiwen.com/subject/jsrzwftx.html