代码审计-数组返回NULL绕过

<?php
$flag = "flag";

if (isset ($_GET[‘password‘])) {
if (ereg ("^[a-zA-Z0-9]+$", $_GET[‘password‘]) === FALSE)
echo ‘You password must be alphanumeric‘;
else if (strpos ($_GET[‘password‘], ‘--‘) !== FALSE)
die(‘Flag: ‘ . $flag);
else
echo ‘Invalid password‘;
}
?>

ereg可以用%00来进行截断

strpos用数组进行截断,返回null

payload

http://123.206.87.240:9009/19.php?password[]=1

PHP是弱语言,对数组比较敏感

Flag: flag{ctf-bugku-ad-2131212}

原文地址:https://www.cnblogs.com/gaonuoqi/p/11407089.html

时间: 2024-10-10 06:07:08

代码审计-数组返回NULL绕过的相关文章

如果参数number包含Null,则返回Null;如果参数character包含Null

VBA字符串处理大全 1 VBA中的字符串2 VBA中处理字符串的函数2.1 比较字符串2.2 转换字符串2.3 创建字符串2.4 获取字符串的长度2.5 格式化字符串2.6 查找字符串2.7 提取字符/字符串2.8 删除空格2.9 返回字符代码2.10 返回数值代表的相应字符2.11 使用字节的函数2.12 返回数组的函数2.13 连接字符串2.14 替换字符串2.15 反向字符串==================================================== 1 VB

后端返回null,前端怎么处理?数据容错——不用过分相信外部数据

场景 我们在开发过程当中,总是会遇到因为数据原因,导致使用数组方法或者获取对象属性的时候报错. xxx is not fuction Cannot read property xxxx of undefined 因为这些错误,会导致直接页面打不开,所以我们一般会做一些容错处理,从而让页面可以正常打开.例如:&& .三元运算符,甚至有时会看到 if 语句来处理. 常见方式 1 // response 是来自接口的数据 2 const response = { 3 code: 200, 4 m

如何区分对象、数组、null

我们都知道在使用typeof的时候对象.数组.null返回的都是object 那么我们怎么来区分他们呢? 我们知道万物皆对象,那么我们就利用对象的toString来区分 这样是不是就很容易区分了呢! 同时,我们也可以利用instanceof来区分数组([] instanceof Array ) 原文地址:https://www.cnblogs.com/wing-sky/p/12067880.html

关于GestureDetector的onFling方法e1返回null问题

解决办法: 定义一个MotionEvent对象,在ondown里面赋值  private MotionEvent mLastOnDownEvent = null; @Override         public boolean onDown(MotionEvent arg0) {          mLastOnDownEvent=arg0;         return false;       } @Override     public boolean onFling(MotionEve

PHP json_decode返回null解析失败原因

在PHP5.4之前 json_decode函数有两个参数json_decode有两个参数,第一个是待解析的字符串,第二个是是否解析为Arrayjson_decode要求的字符串比较严格:(1)使用UTF-8编码(2)不能在最后元素有逗号(3)不能使用单引号(4)不能有r,t,如果有请替换所以问题来了,不小心在返回的json字符串中返回了BOM头的不可见字符,某些编辑器默认会加上BOM头,如下处理才能正确解析json数据: $result = json_decode(trim($contents,

Java Socket编程readLine返回null,read返回-1的条件

客户端正常关闭socket的时候,服务器端的readLine()方法会返回null,或者read()方法会返回-1 Java Socket编程readLine返回null,read返回-1的条件,布布扣,bubuko.com

一个开发原则,永远不要返回NULL

看一篇文章:10个经典的java开发原则,里面一个原则:永远不要返回NULL. 为什么,因为很多代码都是 a.b(......).c(...) 这么连着调用.如果每层调用都要检查是否为空的话,代码就太难看了. 但是不返回null,返回什么呢?显然要反悔一个类的实例,但是怎么保证得到的结果是预期的呢,也就是说,怎么能保证这样虽然不会报“未交对象引用设置到对象的实例”(实际上就是空引用)这个错误,但是能得到“正确”的结果呢.显然,应该是nul但是没有返回null是得不到正确的结果,但是我们要保证结果

WORD Application.Documents.Open函数返回null的一种解决方法

DCOM Config Setting for "Microsoft Office Word 97 - 2003 Document" 内部配置一切正常,但Application.Documents.Open函数还是返回null.下面是一个解决方法: "C:\Windows\SysWOW64\config\systemprofile\"目录下创建一个"Desktop"目录. WORD Application.Documents.Open函数返回nu

关于SQL语句中SUM函数返回NULL的解决办法

SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如下面的方法来处理: SELECT COALESCE(SUM(name),0) FROM person WHERE id > 0   行了,这下就不用费事去处理返回结果是否为NULL的情况了. COALESCE 函数的意思是返回参数列表中第一个为空的值,该方法允许传入多个参数,该函数也是SQL中的标准