1.深入代码/命令注入

1.深入代码/命令注入

由于没有针对代码中可执行的特殊函数入口做过滤,导致用户可以提交恶意语句,并交由服务器端执行。
代码/命令注入攻击中Web服务器没有过滤类似 system(),eval(),exec()等函数的传入参数。


代码注入

  • eval(string code) eval把字符串作为PHP代码执行 Code_str是PHP代码字符串,需要是一个完整的语句(结尾需要加分号)一句话木马就是使用这个函数
  • assert(eval("echo 123;"));assert把整个字符串参数当php代码执行,eval把合法的php代码执行。
  • call_user_func('assert','phpinfo()'); 把第一个参数作为回调函数调用,可以使用var_dump(is_callable('eval'));来判断是否能回调,eval就是不能回调的函数。
  • call_user_func_array('system',array('whoami','pwd'));调用一个回调函数,传入的参数需要是一个数值,但是只会返回第一个参数执行的结果
  • create_function( string $args, string $code ) args是要创建的函数的参数,code是函数内的代码。在这里插入图片描述
  • preg_replace('abc/e',$replacement,'/abcd' ) 执行一个正则表达式的搜索和替换 /e 修正符使 preg_replace将 replacement 参数当做 PHP 代码(php7弃用)
  • array array_map( assert , ['phpinfo()'] ) array_map为数组的每个元素应用回调函数
案例
<?php 
show_source('call_user_example.php');
$price=$_GET['price'];
$code = 'echo $name. '.'的价格是'.$price.';';
$b = create_function('$name',$code);
$b('iPhone');
?>

create_function()的使用等于构建用户自定义的一个方法

function b($code) {
   
  'echo $name.'.'的价格是'.$price.';'
}

$price的两边没有引号闭合,可以直接传入123闭合语句或者直接闭合方法,再执行代码注入

call_u
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当面试官询问我SQL注入、XSS、文件上传以及RCE远程命令执行漏洞的相关知识时,你可以使用以下话术进行回答: 1. 面试官:请介绍一下SQL注入漏洞。 你:SQL注入是一种常见的web应用程序漏洞,攻击者通过在用户输入中插入恶意的SQL代码,成功绕过应用程序的输入验证,从而可以执行未经授权的数据库查询、修改或删除操作。为防止SQL注入攻击,我们需要对用户输入进行严格的验证和过滤,并使用参数化查询或预编译语句来防止恶意SQL代码的执行。 2. 面试官:请解释一下XSS漏洞。 你:XSS(跨站脚本)漏洞是一种允许攻击者将恶意脚本注入到web应用程序的漏洞。当用户浏览包含恶意脚本的页面时,这些脚本会在用户的浏览器上执行,导致攻击者能够窃取用户的登录凭证、修改页面内容或进行其他恶意操作。为了防止XSS攻击,我们需要对用户输入进行合适的验证和过滤,并使用安全的编码方式来输出数据,如HTML转义或使用Content Security Policy(CSP)来限制脚本的执行。 3. 面试官:请讲解一下文件上传漏洞。 你:文件上传漏洞是指在web应用程序中存在未正确验证用户上传文件的安全问题。攻击者可以通过上传带有恶意代码的文件,从而在服务器上执行恶意操作,如执行任意命令、获取敏感数据或远程控制服务器。为了防止文件上传漏洞,我们需要对用户上传的文件进行严格的验证和过滤,限制可上传文件的类型和大小,并在保存、读取和执行文件时采取适当的安全措施。 4. 面试官:请简要说明一下RCE远程命令执行漏洞。 你:RCE(远程命令执行)漏洞是一种允许攻击者在受影响的系统上执行任意命令的漏洞。攻击者通过利用应用程序中的安全漏洞,成功注入恶意代码并执行系统命令。这种漏洞可能导致攻击者完全控制受影响的系统,进行敏感数据的窃取、服务器崩溃等恶意行为。为了防止RCE漏洞,我们需要保持应用程序和服务器的补丁更新,进行输入验证和过滤,以及使用安全编码和访问控制机制来限制恶意代码的执行。 请记住,以上是对每种漏洞的简要解释,你可以根据自己的了解和经验进行适当的展开和补充。在回答问题时,尽量用简明扼要的语言表达,并展示你对漏洞原理和相关防御措施的深入理解。祝你面试顺利!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值