码迷,mamicode.com
首页 > 其他好文 > 详细

ereg正则%00截断

时间:2020-05-05 20:21:29      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:成功   info   die   password   tps   eric   错误   gre   大于   

0x01

<?php
$flag = "xxx";
if (isset ($_GET[‘password‘]))
{
if (ereg ("^[a-zA-Z0-9]+$", $_GET[‘password‘]) === FALSE)
{
echo ‘You password must be alphanumeric‘;
}
else if (strlen($_GET[‘password‘]) < 8 && $_GET[‘password‘] > 9999999)
{
if (strpos ($_GET[‘password‘], ‘-‘) !== FALSE) //strpos — 查找字符串首次出现的位置
{
die(‘Flag: ‘ . $flag);
}
else
{
echo(‘- have not been found‘);
}
}
else
{
echo ‘Invalid password‘;
}
}
?>

0x02 代码分析

ereg()函数搜索一个字符串中的指定字符串,成功true,错误false
传入的值必须是数字或大小写字符
传入的值长度小于8,但要大于9999999

长度和数值矛盾,采用1e8,1x10的8次方,绕过

方法1:%00截断

技术图片

*-* 双星闭合
http://123.206.87.240:9009/5.php?password=1e8%00*-*

方法2:数组

数组过滤掉greg判断

http://123.206.87.240:9009/5.php?password[]=1e8-

技术图片

参考链接:
https://www.cnblogs.com/gaonuoqi/p/11408229.html

ereg正则%00截断

标签:成功   info   die   password   tps   eric   错误   gre   大于   

原文地址:https://www.cnblogs.com/observering/p/12831979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!