来源:吖吖Girl
最近在百度空间看到一篇网站入侵实例,博主应该是个MM,看了一下入侵过程思路还是很清晰,用的是常见方法SQL注入,取得Webshell。希望对大家如何防范类似攻击有所帮助~~~以下是入侵全过程:
一、当菜鸟遇到注入
我偶尔也去站长网逛逛,那天正好看到一个帖子,帖子的内容有一个目标站的url。出于好奇,点了进去,发现这网站还挺漂亮的,如图1所示:
图1初步接触
进去后发现这网站几乎都是静态的页面,这时候我就会很自觉的到www.ip866.com查询是否有分站,查询后发现还有几个分站,如图2所示:
图2使用IP866查询结果
二、获取网站路径
随后找到一分站,是用php写的 ,首先找到分站的注入点,提交单引号,把网站的路径爆出来了,如图3所示:
图3获取网站的真实路径
三、获取Mysql账号和密码
然后用order by 爆出字段为8。再构造语句
语句1:
http://www.xxx.net/xx.php?id=16%20and%201=2%20union%20select%20,1,2,3,4,5,6,7,8%20/*
语句2:
http://www.xxx.net/xx.php?id=16%20and%201=2%20union%20select%201,2,user(),4,version(),6,7,8%20/*
语句3:
http://www.xxx.net/xx.php?id=16http://www.xxx.net/xx.php?id=16%20and%201=2%20union%20select%201,2,user(),4,database(),6,7,8%20/*
语句4:
http://www.xxx.net/xx.php?id=16http://www.xxx.net/xx.php?id=16%20and%201=2%20union%20select%201,2,load_file(char(将网站路径转为ASCII编码形式)),4,database(),6,7,8%20/*
用语句1爆出网站的字段长度为3和5,在用语句2查出user()和version(),用语句3查出databse(),以及用语句4获取mysql的帐号和密码 。如图4,图5,图6所示:
图4获取mysql相关信息
图5获取数据库密码
图6获取数据库连接信息
四、提权之路
有了mysql的帐号和密码那就可以登陆phpmyadmin了。于是我在分站上找phpmyadmin。找了好久都没找到,不管是输入http://phpmyadmin.xxx.net/还是http://www.xxx.net/phpmyadmin或是http://www.xxx.net/PhpMyAdmin等等都不行。就是找不到。于是就放弃了。找第二个分站。当我点进去第二个分站的时候竟然发现就是目标站只是域名不一样,我就想到是否用分站上找到的mysql帐号和密码在目标站上登陆?
于是找目标站的phpmyadmin,很幸运,我尝试了2次就找到了。如图7所示:
图7找到phpmyadmin
我马上用分站的mysql帐号和密码登入,结果登入成功进入phpmyadmin。进入phpmyadmin自然会去导出一句话php。就在导出一句话php却出现了导不出来的现象,如图8所示:
图8提权执行失败
我以为我写错了语法。可是我再尝试了很多次。都是导不出来。我决定不要在这个问题上徘徊了。到网上搜索一下问题。
搜索结果发现,如果是在mysql下\是转义符,所以路径里遇到\要双写\\或者反写/。最后成功导出一句话php如图9所示:
图9 成功导出一句话木马
接下来用php一句话后门连接,成功的连接了。如图10所示然后找主站的路径,和可写目录,可写的目录当然是用户上传文件后存放的目录。
图10成功连接一句话木马
然后成功那拿下该webshell。如图11所示:
图11 上传的php的大马
接下来就是提权了。Phpshell的我只知道用udf.dll提权 。于是我就把需要的文件上传到可写目录。刚开始传第一个udf.dll,
明明导出udf.dll,但是不知道为什么不可以恢复cmd.经过调查发现原来udf.dll被杀了.那我就去找了一个6月16日的免杀udf.dll最后提权成功,过程是如图12,13,14,15,16,所示:
图12 查找mysql库名
图13使用udf.php提权
图14 查看用户
图15 添加用户
图16 查看当前端口
图17 成功进入该服务器
四、总结与体会
1、当分站上找不到phpmyadmin可以尝试下在主站上找.说不定还可以用分站的帐户登陆进主站的phpmyadmin
2、phpmyadmin导出一句话php 的时候路径在mysql下¥是转义符,所以路径里遇到¥要双写或者反写/
3、当你尝试用udf.dll提权 如果导出成功,但是又不能恢复cmd,最好去看看是否被杀掉了。如果被杀就换个免杀的。如果大家有更好的入侵方法可以到我的blog交流。
入侵过程看完了,这里要说一下,如果是apache+win,能执行命令的话,一般root直接加用户,这样方便点。