CTF-20解题思路

Track-子羽   ·   发表于 2021-11-17 14:59:41   ·   CTF&WP专版

源码分析:

  1. <?php
  2. $md51 = md5('QNKCDZO');
  3. $a = <span class="label label-primary">@$_GET['a'];#CTL{n}$md52</span> = <span class="label label-primary">@md5($a);#CTL{n}if</span> (isset($a)) {
  4. if ($a != 'QNKCDZO' && $md51 == $md52) {
  5. echo "flag{*****************}";
  6. } else {
  7. echo "false!!!";
  8. }
  9. } else {
  10. echo "please input a";
  11. }

分析代码:传入变量“a”的值不等于'QNKCDZO',进行md5加密后与“md51”相等,即等于'QNKCDZO'进行md5加密的值。

  1. QLTHNDT //加密后
  2. 0e405967825401955372549139051580
  1. php把以0E/0e开头的哈希值解释为0
  2. 所以传入的a的值经过md5加密Q后字符串开头为0e/0E

在地址栏中构造GET传参,得到flagflag{*****************}

payload:

  1. ?a=QLTHNDT

打赏我,让我更有动力~

0 条回复   |  直到 2021-11-17 | 1131 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.