首页 > 其他 > 详细

ereg正则%00截断

时间:2020-07-12 17:27:21      阅读:62      评论:0      收藏:0      [点我收藏+]
 1 <?php
 2 $flag = "xxx";
 3 if (isset ($_GET[‘password‘]))
 4 {
 5 if (ereg ("^[a-zA-Z0-9]+$", $_GET[‘password‘]) === FALSE)
 6 {
 7 echo 8 
 9 You password must be alphanumeric
10 
11;
12 }
13 else if (strlen($_GET[‘password‘]) < 8 && $_GET[‘password‘] > 9999999)
14 {
15 if (strpos ($_GET[‘password‘], ‘*-*‘) !== FALSE) //strpos — 查找字符串首次出现的位置
16 {
17 die(‘Flag: ‘ . $flag);
18 }
19 else
20 {
21 echo(‘
22 
23 - have not been found
24 
25);
26 }
27 }
28 else
29 {
30 echo31 
32 Invalid password
33 
34;
35 }
36 }
37 ?>

首先我们看一下代码,分析一下有这么几个点

1.password的值只能是一个或者多个数字、大小写字母;

2.password内容字符串长度不超过8,且值要大于9999999;

3.password最后要匹配到*-*.

满足上面两个条件才可获得flag

 

前面两个条件我们可以弱类型绕过,最后一个可以%00截断

 

技术分享图片

 

ereg正则%00截断

原文:https://www.cnblogs.com/N-schema/p/13288398.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!