[WEB安全/PHP漏洞利用]PHP拼接

PHP动态拼接

函数的变量名调用法1

$a = "phpinfo";
$a();     //相当于phpinfo(),$a调用函数,()传参

函数的变量名调用法2

$type = $FILE[$type]; 
$a = imagecreatefrom{$type};   //假如pic的类型为png,则拼接后的函数名为imagecreatefrompng
$a($pic);                      //动态调用函数
							   //可以在文件上传的场景当中应用,根据文件类型调用相应的函数,也可以拼接小马进行绕过。

补充1【$_FILE】:

PHP中,使用$FILES变量获取由HTTP POST/GET方式上传而提交的数据。

$_FILES变量是一个数组,包括以下几个成员:

$_FILES[‘uploadfile’][‘name’]:客户端上传文件的原名称
$_FILES[‘uploadfile’][‘type’]:文件的MIME类型,需要浏览器提供该信息的支持,如"image/gif"
$_FILES[‘uploadfile’][‘size’]:已上传文件的大小,以字节为单位
$_FILES[‘uploadfile’][‘tmp_name’]:文件上传后在服务器端存储的临时文件名
$_FILES[‘uploadfile’][‘error’]:与该文件上传相关的错误代码

补充2[花括号]:

1.界定变量名的边界

echo ({$type}one);    //为了防止解释器解析$typeone,而不是将变量名单独解析$type 
//可以用来向字符串当中引入实时获取的变量,拼接字符串或新的变量

2.指定字符串当中的单个字符

$string = "iamgood";
$string{1} = 't';
//结果输出为itmgood,仅在双引号中变量名会被引用,单引号中无效

3.变量间接引用时对操作对象进行界定

${$arr1[1]}
${$arr1}[1]
//两种写法是不同的

补充3[单双引号]:

''中的内容在PHP中单引号会被直接解析为字符串(包括\n,变量等)
""当中的变量会优先引用,然后在进行其他的操作

一般的拼接方法:

$a = "php";
$b = "info";
$c = $a.$b;
$c();      //拼接结果为phpinfo()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
dedecms v56 plus 是一个开源的内容管理系统,其中的 search.php 文件存在注入漏洞。 这个注入漏洞允许攻击者通过构造恶意的请求,在 search.php 页面中执行恶意的 SQL 代码。攻击者可以利用这个漏洞获取敏感的数据库信息或者对数据库进行更改或删除操作。 注入漏洞通常是由于未正确过滤用户输入导致的。在 search.php 文件中,用户的搜索输入没有经过充分的验证和过滤,直接作为 SQL 查询语句的一部分拼接,从而导致注入漏洞的产生。 为了修复这个漏洞,可以采取以下措施: 1. 对用户的输入进行严格的验证和过滤。可以使用输入验证函数或者正则表达式来限制用户输入的内容。 2. 使用预编译语句或者参数化查询。这样可以避免将用户输入直接拼接到 SQL 查询语句中,从而防止注入攻击。 3. 更新 dedecms v56 plus 至最新版本。开发者通常会在新版本中修复已知的安全漏洞,因此及时更新可以有效地解决注入漏洞的问题。 4. 对服务器进行安全配置。限制数据库用户的权限,仅允许其执行必要的操作,可以减轻注入攻击所造成的损害。 总结来说,dedecms v56 plus 中的 search.php 注入漏洞是由于对用户输入未进行充分验证和过滤所导致。修复该漏洞需要对用户输入进行认真验证和过滤,并采取安全措施,如使用预编译语句或者参数化查询来构建 SQL 查询语句,以及及时更新系统版本和服务器安全配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值