lottery

  开心!虽然第一次遇到git源码泄露写了好久,但是写出来了就很开心~~

  打开界面我们知道,要拿到flag,就要赢到足够的钱,其实一开始我以为可以找到一个地方直接修改余额什么的,把网页源代码中的文件看了几个都没发现突破口……

  然后又没思路了……

  尝试了一下robots.txt,想看看有没有什么文件,然后发现了:

攻防世界Web lottery

  瞬间振奋.jpg

  百度了一下发现应该是git源码泄露,下载了GitHack(下载地址

  然后用GitHack扫描url:

攻防世界Web lottery

  发现了api.php,这时候源码已经下载下来了,打开api.php的源码:

攻防世界Web lottery

  在买**这里的函数:

  其中 $numbers 来自用户json输入 {"action":"buy","numbers":"1122334"},没有检查数据类型。 $win_numbers 是随机生成的数字字符串。
  使用 PHP 弱类型松散比较,以"1"为例,和TRUE,1,"1"相等。 由于 json 支持布尔型数据,因此可以抓包改包,构造数据:

攻防世界Web lottery

  构造两次钱就够了(要注意当生成的win_number中不含0时才会得5000000,构造两次得的钱不够的话再构造一次就好了)

相关文章:

  • 2021-12-23
  • 2022-12-23
  • 2021-12-04
  • 2022-01-12
  • 2021-07-12
  • 2021-12-04
  • 2021-08-29
猜你喜欢
  • 2021-06-01
  • 2021-09-20
  • 2021-07-17
  • 2021-07-06
  • 2021-06-19
  • 2021-09-16
相关资源
相似解决方案