Tuesday, May 10, 2016

通过sql注入进行web挂马的方法

web页面挂马是一种常见的攻击方法。
本文简单的阐述一下web挂马的基本方法以及常用的几种工具。
1.搜集信息
        搜集目标网站的信息,包括IP地址,域名,开放的端口,主机OS,数据库,中间件等。搜集信息的目的是为了寻找漏洞,通过各种软件系统的漏洞对目标系统进行渗透。
        常见的是通过SQL注入获取管理员账号和口令,然后登录管理后台,上传木马。
        SQL注入工具有明小子,阿D,pangolin,The Mole,BSQL hacker,Havij等,我喜欢用sqlmap。
2.获取管理员账号及后台登录地址
        通过sql注入一般可以跑出数据库的表,从而获得管理员账号和密码。但这也不是绝对的。跑表的时候也是基于字典的内容,字典里面有就能跑出来,字典里面没有的话就悬了。跑出来的管理员账号一般是明文,密码则是通过MD5加密的。MD5加密的密文可以到www.cmd5.com网站去解密,有些简单的口令是免费,复杂一点的都是要收费的。有些也是解不出来的。如果你不缺银子,现在已经得到的管理员的账号和口令,那么恭喜你。接下来就该找后台登录的地址了。也有很多工具可以帮助你扫描,比如明小子,也可以用蜘蛛来爬网站。运气好的话,你会获得后台的管理地址,当然有些网站的后台管理地址就在网页的最下面有个小小的链接。有时候不费吹灰之力就可以拿到了。
3.登录管理后台,上传木马
        在网站的很多地方,你都可以上传图片,上传图片等附件是挂马的最好方法。当然根据不同的网站,有asp木马,php木马等等。在上传过程中,前端和后端都有可能会对文件进行检查,简单一点的会差后缀名是不是JPG(一般不容许上传.asp之类的文件,只能上传.jpg,.rar,.txt之类的文件),更变态一点的会查文件前面的若干字节,判定是不是.jpg文件。将webshell文件改名为.jpg文件后大部分可以上传。如果还是不能上传的话,就只能上传图片木马了。图片木马就是将木马附加在图片的后面,当然不是通过编辑的方法了。copy a.jpg/b +b.asp/a c.jpg 就可以生成图片木马了。最好是用一句话木马。
        木马上传后一般都会有个地址xxxx/xxx/x/xxxx.jpg,在浏览器中输入地址,就能打开这个文件,如果是大马的话,会看到源代码,如果是图片木马的话,会看到图片。只有将这些木马的后缀改成.asp或者其他的可以解析的文件,才能在浏览器中直接打开,也就是执行木马了。
        修改木马的后缀,一般通过数据库备份的功能来实现。IIS6有个漏洞,就是会将.asp或者.asa文件夹下面的任意文件进行解析执行。因此,如果在数据库备份的时候不能修改后缀的话,试一试创建一个x.asp或者x.asa的文件夹,将木马放进去,一样可以执行。一句话木马的话,是不能直接执行的,用中国菜刀来连接,功能非常强大。
4.提权
        挂马之后用木马提供的相关命令提升权限,创建用户名。如果目标系统是windows server的话,使用命令net user test test123/add 添加test用户,命令net localgroup administrators test /add将test加入到管理员组。然后打开3389端口,远程桌面连接到服务器就可以了。

总结一下,如果将数据库的表名进行修改,而且改的比较变态一点的话,注入工具是很难扫描到的。后台管理地址不要在网页上有链接,而且管理地址也该的变态一点的话,也是很难发现的。接下来就是密码了,简单的6位数字真的是太傻瓜了,如果改成很长的一句话,加上符号和数字,比如总共32位的长度的话,解开是需要时间的。如果每个月再修改一次密码的话,安全系数会更高的。对页面中需要上传文件的地方都做严格的检查,只能上传图片和压缩文件,在后台数据库备份的地方,只进行简单的备份,不能再备份的时候进行任何输入工作,也就是说在备份的时候不能修改源文件,不能修改目标文件。即使将木马文件传到了服务器上,也无法执行。安全性也会有所提高。

No comments: