当前位置: 首页 > news >正文

python整合网站开发技术今日nba战况

python整合网站开发技术,今日nba战况,北京商场招商,在线观看视频网站怎么做PHP命令注入攻击漏洞是PHP应用程序常见漏洞之一。国内著名的PHP应用程序,如discuz!、dedecms等大型程序在网络中均被公布过存在命令注入攻击漏洞,黑客可以通过命令注入攻击漏洞快速获取网站权限,进而实施挂马、钓鱼等恶意攻击,造成…
PHP命令注入攻击漏洞是PHP应用程序常见漏洞之一。国内著名的PHP应用程序,如discuz!、dedecms等大型程序在网络中均被公布过存在命令注入攻击漏洞,黑客可以通过命令注入攻击漏洞快速获取网站权限,进而实施挂马、钓鱼等恶意攻击,造成的影响和危害十分巨大。同时,目前PHP语言应用于Web应用程序开发所占比例较大,Web应用程序员应该了解命令注入攻击漏洞的危害.

PHP 执行系统命令可以使用以下几个函数:
[PHP] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
Linux unix Wind os
 
system、execpassthru、·· 反引号、shell_exec、popen、proc_open、pcntl_exec string system ( string $command [, int &$return_var ] )
string exec ( string $command [, array &$output [, int &$return_var ]] ) void passthru (string command, int &return_var)
string shell_exec (string command) `` 反引号
 
resource popen ( string $command , string $mode )
 
resource proc_open ( string $cmd , array $descriptorspec , array &$pipes [, string $cwd [, array $env [, array $other_options ]]] )
 
void pcntl_exec ( string $path [, array $args [, array $envs ]] )


然而create_function()创建匿名函数,如果没有严格对参数传递进行过滤,攻击者可以构造特殊字符串传递给create_function()执行任意命令。 那我就用这两个参数进行构造PHP文件进行演示。
[PHP] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
<?php
$arg=$_GET['arg'];
$sorter='strnatcasecmp';
$databases=array('test','test');
$sort_function = '  return 1 * ' . $sorter . '($a["' . $arg . '"], $b["' . $arg . '"]);';
usort($databases, create_function('$a, $b', $sort_function));
?>

下面我们一句一句进行分析
[PHP] 纯文本查看 复制代码
?
1
$arg=$_GET['arg'];

代码中$arg直接用$_GET取值未做过滤,create_function()中的函数体部分$sort_function只是简单的字符串拼接,我们可以直接写入注入代码.
我们测试代码注入,如果,不想造成任何破坏并且可以展示这个漏洞我们习惯的利用phpinfo();。我们来构造注入
[PHP] 纯文本查看 复制代码
?
1
"]);}phpinfo();/*
成功执行.

在具体分析细节之前,先说一下create_function()。

create_function返回一个字符串的函数名, 这个函数名的格式是:

"\000_lambda_" . count(anonymous_functions)++   

我们来看看create_function的实现步骤:

1. 获取参数, 函数体;

2. 拼凑一个"function __lambda_func (参数) { 函数体;} "的字符串;

3. eval;

4. 通过__lambda_func在函数表中找到eval后得到的函数体, 找不到就出错;

5. 定义一个函数名:"\000_lambda_" . count(anonymous_functions)++;

6. 用新的函数名替换__lambda_func;

7. 返回新的函数。

实际上,create_functions是一个ZEND_FUNCTION,它被定义在./Zend/zend_builtin_functions.c中。

[PHP] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
eval_code = (char *) emalloc(eval_code_length);
  
sprintf(eval_code, "function " LAMBDA_TEMP_FUNCNAME "(%s){%s}", Z_STRVAL_PP(z_function_args), Z_STRVAL_PP(z_function_code));
  
eval_name = zend_make_compiled_string_description("runtime-created function" TSRMLS_CC);
  
retval = zend_eval_string(eval_code, NULL, eval_name TSRMLS_CC);

可以看到这里只是简单利用zend_eval_string来生成匿名函数
此处"function " LAMBDA_TEMP_FUNCNAME "(%s){%s}"
我们可以控制函数主体部分闭合前面的“{”,后面跟上我们的phpinfo()函数
将提交的参数 arg="]);}phpinfo();/*放到函数中去.
可以看到提交arg参数中的“}”闭合生成的匿名函数的“{”
所以这里的phpinfo()会被zend_eval_string执行。
下面我们测试别的注入。

http://www.lbrq.cn/news/2511181.html

相关文章:

  • 公众号如何推广宣传百中搜优化软件
  • 重庆外贸网站建设公司百度官方营销推广平台加载中
  • 网上注册网站要钱吗沈阳今日新闻头条
  • 北京做网站男生工资百度开户怎么开
  • 网站制作网站深圳网站建设运营
  • 南阳做网站多少费用seo教程百度网盘
  • 个人网站设计及实现网站外包
  • 贵阳美容网站建设seo优化培训
  • 浦城 做网站西安百度推广网站建设
  • 网站关键词怎么做排名靠前下载百度到桌面
  • 机票网站开发知乎百度热搜榜排名今日
  • 网站导航条线上推广公司
  • 微信公众号怎么上架商品seo研究中心超逸seo
  • 苗木企业网站源码公司在百度怎么推广
  • 微网站建设百度云搜索引擎官网
  • 北京住房城乡建设部网站网络推广方式有哪些
  • 客服在家做网站郑州厉害的seo顾问公司
  • saas平台济南seo网站关键词排名
  • 昆明网站建设精英ip域名查询地址
  • 国际转运网站建设b2b平台是什么意思
  • 网站前置审批项 教育桂平seo关键词优化
  • 微信小程序网页版seo专员是什么
  • js做网站登录界面软文标题例子
  • 台州网站建站网销是什么工作好做吗
  • 凯里网站开发百度百度一下百度
  • 基于php的动态校园兼职网站设计论文公司网络营销推广软件
  • 来宾网站建设公司湖南靠谱seo优化报价
  • 免费com网站域名注册烟台seo关键词排名
  • 网站的文字被爬取了正规推广平台
  • 建设一个能看视频的网站农产品推广方案
  • Intellij Idea--解决Cannot download “https://start.spring.io‘: Connect timedout
  • Spring Boot 防重放攻击全面指南:原理、方案与最佳实践
  • 基于变频与移相混合控制(PFM+PSM)的全桥LLC谐振变换器仿真模型
  • Spring AI 1.0 提供简单的 AI 系统和服务
  • Window 部署 coze-stdio(coze 开发平台)
  • 硅基计划3.0 学习总结 肆 二叉树 初版