low级

对文件类型没有任何约束,可直接上传“一句话木马”hack.php,连接冰蝎。

一句话木马 :

medium级

源代码

if( ( $uploaded_type == "image/jpeg" || $uploaded_type == "image/png" ) &&

( $uploaded_size < 100000 ) )

可以看到,代码对文件的类型和文件的大小,做了限制。

思路:

将webshell文件上传,然后利用burp进行抓包,可以看到服务器判断文件类型的方式有两种,一种是filename,一种是content-type。

如果上传的是php格式的,可以修改 content-type的值,来绕过上传限制

如果上传的是jpg格式,可以修改filename的值,来完成上传webshell

high级

源代码

if( ( strtolower( uploaded_ext ) == "jpg" || strtolower( uploaded_ext ) == "jpeg" || strtolower(uploaded_ext ) == "png" ) &&( uploaded_size < 100000 ) &&

getimagesize( $uploaded_tmp ) )

可以看到,代码对文件后缀,文件大小,文件类型,做了限制,这里要注意 getimagesize()函数,该函数可获取图片的宽高等具体信息。因此,只修改文件后缀是无法绕过的,找一张 jpg格式的图片,使用 命令 copy img.jpg/b+hack.php/a hack.jpg 其中,img.jpg/b中“b”表示“二进制文件”,hack.php/a中“a"表示ASCII码文件,hack.jpg表示生成的新文件的名称。

思路:

将webshell与图片合并后,即可上传,但由于不是 .php文件所以无法执行。此次需要利用文件包含漏洞,修改一句话木马:'); ?> ,再次合成图片,重新上传,然后在DVWA的fileinclusion模块访问http://127.0.0.1/DVWA/vulnerabilities/fi/?page=file:///+“上传文件所在路径“,此时在DVWA文件包含漏洞的路径下便自动生成了PHP一句话木马脚本文件muma.php,到此可使用冰蝎进行连接。

4. impossible

最新文章

  1. [LeetCode] Reverse Linked List
  2. Bootstrap左侧下拉三级菜单
  3. PHP将在对象被销毁前调用这个函数.它称为析构函数
  4. 快速实现Magento多语言的设置和产品数据的多语言方法
  5. Log4Net配置注意点
  6. jboss部署应用
  7. Python学习入门基础教程(learning Python)--2.3.1 Python传参函数设计
  8. 在 eclipse 中将 web 项目部署到 tomcat 服务器上
  9. BZOJ:1185: [HNOI2007]最小矩形覆盖
  10. MyDAL - 引用类型对象 .DeepClone() 深度克隆[深度复制] 工具 使用
  11. Python从菜鸟到高手(6):获取用户输入、函数与注释
  12. 嫁给程序员的好处,你get到了吗?
  13. jenkins持续集成的步骤
  14. 结合NTLM中继和Kerberos委派攻击AD
  15. java 异常匹配
  16. Nmap扫描教程之基础扫描详解
  17. CentOS 7 打开关闭FirewallD防火墙端口命令
  18. XAMPP设置tomcat自启动时,报无效的Win32程序
  19. 洛谷——P1907 设计道路
  20. centos7 默认进入系统命令行模式修改

热门文章

  1. Vue.js +pdf.js 处理响应pdf文件流数据,前端转图片预览不可下载
  2. collection集合常用功能
  3. Python过滤掉numpy.array中非nan数据实例
  4. 贪心法-------Saruman&#39;s army
  5. nginx配置多个图片访问路径
  6. 4.pandas的进阶查询
  7. element上传功能携带参数
  8. 深入理解JVM(③)Java的锁优化
  9. MacOS下Lucene学习
  10. Python列表截取