作者:panda
链接:https://forum.90sec.com/t/topic/1316
1.打开了谷歌hack 数据库
2.在谷歌中漫步,看到几个?id=XXX结尾的网址,加’ 出现报错,也有好几个注入点,是打开后就可以看到mysql的报错信息。
3.直接丢给了sqlmap自动注入,与此同时使用
Nikto 和nmap 进行信息搜集,因为是新手,全是--help看的基础命令
Nikto -h 127.127.127.127
Nmap -v -A 127.0.0.1
[WARNING] it looks like the file has not been written (usually occurs if the DBMS process user has no write privileges in the destination path)
sqlmp -u “http://url” --sql-shell发现是可以用sql-shell。
使用select into语句写文件和update语句
也是失败,提示
4.尝试下载apache配置文件和mysql配置文件。
尝试下载Apache 2.2.2的默认配置文件(这个全靠运气了感觉)
不断的尝试
Sqlmap -u “url” --file-read=”文件路径”
得到apache和mysql的文件内容(关键)
Apache配置文件(敏感信息泄露)
成功的截图:
6.中途在上传失败的时候尝试进行源码分析,发现了mysql的数据库密码,但是无法远程连接。
7.也尝试了对10000端口的web服务的密码爆破,使用了burpsuite.
实际返回,被拦截了,所以这个行不通。
8.查看代码的时候发现了一个执行漏洞,也进行了尝试,但sqlmap-shell没法执行update语句,这点我也很疑惑。
从这个代码上来看,一定是有办法把linux的find命令截断,然后执行任意代码的。只需要构造好folder的值。
但是在sqlmap的sqlshell中没法执行upate命令,无法修改这个字段的值。
这点我也很困惑,同样困惑的是,既然我有了sqlshell的root命令权限,为啥还要获取mysql的root密码,甚至还得查md5,我自己insert一个不行吗?
前辈们的教程都是这样的,盲人摸象。希望能有机会获得注册码进一步学习。
9.后续提权的思路
vsftp 2.2.2,直接在metasploit中search svftp,并没有尝试,作为一个靶机训练,有webshell就可以止步,系统漏洞,这种感觉比较老的系统,也有不少吧。
总结:
比较low的一个sql注入点,但是sqlmap无法获取准确的上传路径和执行路径,好在有sqlmap --file-read 所有文件的权限,
所以根据apach 2.2.2 centos的常用配置和sql-shell获取的安装目录,猜解apache和mysql的配置文件地址,apache的配置文件里面的敏感信息还是比较多的。
推荐阅读
学习更多技术,关注我: