故事开局
一个朋友的同学的老师没当教师了,转去IT
行业,然后他们公司有一个项目上线很久了,觉得不安全,找到我帮忙测试让我获取shell
或者看test
表下的数据(我一开始以为很多钱,结果给我一条烟的钱,什么烟??1906啊),这里记录下过程
各攻击点环环受阻,cnm****
这个注入点是这样的。。。
1、找到一个注入点,注入参数不能url
编码,而且语句有时候会变(没遇到过,求解释)
2、有编辑器漏洞但上传目录没有写权限
3、第二个编辑器有上传漏洞但显示上传目录不存在。。。
4、.git
泄露,但打包的不完整。。。
5、找不到后台。。。
6、注入想写shell
结果是站库分离。。。。。。。。。。。。。
大部分口头描述,主要描述思路,敏感时期
利用过程
1、扫描主站目录的时候跑出来了一个日志信息xxx.xxx.xxx/logs/web.log
,大致信息是大马操作痕迹。。和xss
、目录扫描、sql
注入扫描记录(应该是之前有测试过或者被黑过)
2、扫描子域名,在一处子域名下获取了.git
源码泄露漏洞,然后利用lijiejie
的GitHack
工具直接打包,但是他总共807
个文件,只下载了26
个文件(不知道怎么回事,下载失败的都显示File not found
,没理解过.git
泄露漏洞),然后没下载的文件都列出了目录地址(下载失败,但文件都是存在的)
3、用git
泄露获取了mysql
配置信息,但是他用的是阿里云数据库,站库分离,且限定ip
才能连接,此利用链无果
4、利用第二步获取了全站的目录信息(这个漏洞和我说没危害。。),然后找到了一个editor
编辑器漏洞,尝试上传文件
1 | {"error":1,"message":"\u4e0a\u4f20\u76ee\u5f55\u6ca1\u6709\u5199\u6743\u9650\u3002"} |
2 | |
3 | 解码后 |
4 | |
5 | {"error":1,"message":"上传目录没有写权限。"} |
5、在另一个子域名下也找到了这个编辑器漏洞(上传目录不存在
)。。
6、然后现在测试已经是第五天了(中间一直摸鱼),找到了一个注入,手工测是可以直接用的,然后丢sqlmap
一片红
此注入条件:
1 | 1、不能编码 |
2 | 2、逻辑达到一定的时候,语句会变,我不太懂sql注入,所以描述的不明白 |
3 | 3、这是个显错注入 |
4 | 4、注入的参数是这样的`/xxxxx-xxxx-注入点-999.htm` |
然后我手工注入(懒不想手注)的时候用or updatexml(0,concat(0x7e,(这里可以直接执行语句)),0)
,然后利用sqlmap
的--skip-urlencode
和--suffix=
、--prefix=
指定前缀后缀依旧失败(因为我想让sqlmap
的payload
在updatexml(0,concat(0x7e,(这里执行)),0)
),经过很多失败后,我想到了一个新的点~ 利用php
请求注入点,接受payload
带入到updatexml
函数里
然后直接跑
1 | sqlmap -u http://localhost/sql.php?payload=* -v 5 |
然后直接找test
表然后dump
就完成了。