标签:宽字节PHPDjango命令执行

解题过程

目录扫描没有发现任何可疑页面。

测试输入许多域名,均没有反应;输入ip地址得到回显。

猜测为命令执行,尝试使用管道符拼接命令。

测试:|&&&||均报错。

说明系统对这些字符串都进行了过滤,fuzz测试查找未被过滤的字符。

发现@符号未过滤。在Fuzz过程中发现以下特殊数据,进行查看。

发现为Django的报错页面(html解码后转存):

注意到

这里很诡异的将POST请求和FILE请求都合并在一起。

这里也很诡异的采用multipart/form-data方式传数据

需要猜测整个流程是怎么回事: 首先我们是通过一个php,get传参,然后php做中转post传get的参数至django搭的api上。而这个中转很有可能就是php-curl(结合multipart/form-data)。

结合前面没有过滤@符号,大佬提示可以使用curl的@+文件名做本地文件读取。

所以可以通过@index.php读取 index.php的代码,再交给django处理,因为index.php中存在如上不能编码为gbk的unicode编码字符,所以引发报错,同时在debug界面会输出所有post内容,即可爆出index.php文件内容。

获取php代码如下:

同理,可以读取其他文件,在django debug页面中,可以看到数据库的目录,直接读取即可发现flag。

最新文章

  1. 重新走过HTML,那些让我amazing 的标签
  2. 1012. The Best Rank (25)
  3. C# .Net中七层架构浅析
  4. Win7 电脑设置临时网络,无法加入网络;internet禁止网络共享
  5. 关于JavaScript中对象的继承实现的学习总结
  6. Windows平台安装Redmine2.5.x
  7. 一次tomcat服务器被入侵解决办法
  8. Creating a CSRF protection with Spring 3.x--reference
  9. 【转】 GDB 常用调试方法
  10. 使用Excel背单词-高效-简单
  11. PHP appserv + ZendStudio12.5.1 + 注册码
  12. JS使用cookie实现只出现一次的广告代码效果
  13. SpringBoot入门学习笔记
  14. 关于Element UI中页面样式小问题
  15. Android Studio 3.0.1 又见恶心爆的bug。。。xiete
  16. 【C#小知识】C#中一些易混淆概念总结(四)---------解析Console.WriteLine() 分类: C# 2014-02-05 17:18 1060人阅读 评论(0) 收藏
  17. linux中shell,awk,sed截取字符串方法总结
  18. 三十 Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中
  19. nginx 相关资料
  20. PHP中的定界符

热门文章

  1. 阿里巴巴二面凉经 flatten扁平化对象与数组
  2. 记录一次更改服务器名称导致mysql 不能正常登录、启动
  3. (二)Java编程基础
  4. Arduino控制超声波检测与0.96OLED及串口显示
  5. CKAD个人考试心得
  6. 淘宝官网css初始化
  7. 阿里P7终于讲完了JDK+Spring+mybatis+Dubbo+SpringMvc+Netty源码
  8. Python进阶——详解元类,metaclass的原理和用法
  9. 12.实战交付一套dubbo微服务到k8s集群(5)之交付dubbo-monitor到K8S集群
  10. 01 . ELK Stack简介原理及部署应用