通过几次成功的拿Webshell,发现自己有时也走了一些弯路,为了避免其他的朋友再在困惑中迷失方向,现在我将自己的一些经验写出来,希望对一些想学拿Webshell的朋友有一定的帮助。 9 W. d9 g, F8 r ; B. J: V% E8 X4 w- o 首先我们要确定我们要检测的网站,可以是自己定下的某个网站,也可以是自己通过Google或者Baidu搜索得到的,遇到ASP这样的动态网站入侵成功率是最佳的。不详细说了,这一步就是选定目标网站。! G- _' `' A- K( A" _# R: E
% x/ V' O8 x# q# \) @" j 在这里我们注意下,一般有2种数据库的类型:ACCESS、MSSQL2种数据库。我们先来说一下关于ACCESS数据库的解破。1 j0 Q. Y. o7 P3 P: T' L
4 t2 |6 ^# [9 Y- ~ d# L. W
在这里我们可以使用工具猜测数据库的内容(也可以手工猜测,但是太繁琐了),这里我们就使用明小子工具里的“SQL注入猜解”。填上我们刚才手工检测到的注入点,点击检测后程序开始检测是否存在注入点,开始我们已经手工检测过了,所以肯定是存在的了。然后就可以点击“猜解表名”,将数据库的表名给猜出 & h3 u0 @' ~) e, P6 ?2 _ k+ l8 f7 f$ [* @4 r: K: M: q
来,有了程序,我们进行这些操作将会很简单;很快就会猜出所有的表名,接着选定我们要猜解的表名,用程序猜解该表名的列名,接着就可以再猜解记录的内容。一般防范措施不当的网站就会被猜出用户名密码;接着我们用程序自带的功能猜解后台地址,猜到之后,用得到的用户名密码进行登陆;一般防范措施差的网站甚至可以直接用万能的用户名密码’or’=’or’进行登陆。 : y- m: }( \- v# d 0 [4 G: e, }( P/ [ [7 b7 R% q 登陆成功之后,我们进入后台,进入后台才是一切入侵的基本条件。正式开始我们的入侵。$ _+ Z! `6 d/ S( ^' m1 k1 m
0 v& {, s' \" ~- y+ n+ m" U 首先看下有没有数据库备份的功能,如果有,我们来看看怎么得到Webshell。 4 [6 F# l4 ~- t7 j3 m# A % }9 J1 g, V) b; S% Z5 k 1、用一句话木马。通过各种方法,把这句话写入到数据库,再把写入这句话的数据库通过备份变成后缀为.asp的文件,当然要注意备份后的文件地址,然后进行访问,如果显示的是乱码,那么就恭喜你了,基本上就成功了!在再本地用一个一句话木马的客户端进行连接,就连接出现乱码的那个页面地址,连成功之后,你就可以看见熟悉的WebShell了! 7 j; z3 e* A# I9 R" B$ V4 Y- o5 \* D) g+ _# b# O; x4 y4 r: z
2、用图片的上传功能。我们把ASP木马的后缀改成图片的后缀名,如GIF、JPG、BMP之类的,进行上传,上传成功之后,会提示文件上传成功,并且会给出文件的位置,如’UploadFiles/20080501012.gif’;但是,有的可能并不会提示,我们就要用WSockExpert对上传的过程进行抓包,抓到上传的路径;然后,我们通过数据库备份的功能,把gif等图片的格式变成ASP格式的数据库,进行访问,这时候我们通常就可以看见我们的WebShell了!但是目前有的网站上传功能会对这个进行检测,如果备份的文件检查不出属于数据库,则会提示“不合法的数据库”,这时候我们该怎么办呢?既然要检测是否有数据库特征,那我们把图片加入数据库特征不就可以了?对!事实就是如此,我们可以通过DOS的COPY命令给图片加上数据库特征,命令如下 “COPY 木马图片.gif+数据库文件.mdb 合成后的文件.gif”这样,我们合成后的图片就会带有数据库的特征了! 3 [1 U4 t; h( W ; j8 e! e8 C! e. ^ 但是,有的网站后台我们找不到有数据库备份的地方,上面的方法就不管用了,这时候我们该怎么办呢?别急,事情总是有解决的办法的。找到一个有上传功能的页面,随便上传个什么东西,用WSockExpert对上传过程进行抓包,一般我们点击上传之后,在WSockExpert抓到的包中就会找到上传的ASP页面和相应的COOKIES了,当然我们在这里一定要先进入后台,用管理员的账号进行上传,得到的COOKIES就是管理员的了,这个在后面可以用的上。我们再用明小子的上传功能,选择上传的页面,就是我们抓包得到的页面,填上得到的COOKIES,选择我们要上传的木马(要免杀哦!不然传上去就给服务器删了),点击上传,当程序提示成功时,我们就可以对自己的WebShell进行访问了!如果失败,就换换别的上传的类型试试看。 4 z5 }5 C0 q% F: e. l. [$ h$ P. X# n* e8 J* \* I
有的时候我们可能真的一点拿不到某个网站的WebShell,我们这个时候就可以采用旁注的方法对属于同一台服务器的网站拿WebShell,然后提权拿到整台服务器,再对我们的目标网站进行入侵就可以了。2 v3 q: \% u( N
! | Q, E3 O$ }# K, P; P( y
以上是对ACCESS数据库的分析和获取webshell,下面,我对MSSQL数据库来进行下分析。过去我也是先学ACCESS数据库的解破,等到学MSSQL数据库的时候就发现自己还是有很多的不懂,因此又走了不少的弯路,现在把MSSQL数据库拿webshell的方法总结下,希望对才接触webshell的朋友们有所帮助。3 Y9 S7 h( S0 G8 T
8 J9 ?) x2 `( ^# O" m% v7 V8 _4 D 首先我们先检测下该MSSQL数据库的用户权限,一般都是有2种,一种是SA(system admin)权限,这个权限是很大的;还有一种就是DB_OWNER权限,这个权限赋给用户一些对数据库的修改、删除、新增数据表,执行大部分存储过程的权限。但是涉及到一些系统敏感操作的权限不具备,这也是它与SA权限的唯一区别。; }. P* |2 r2 J4 R
7 ?& S, H" G+ ]* Z0 G 8 z l! A; h( d4 Z8 m) p 我们首先来寻找网站所在服务器上的目录,可以使用啊D来查看目录,来寻找网站的目录,个人的经验是在D、E、F盘的地方。 # u6 M: x2 y' c4 _) m. ?9 N * g! o, O, y. {, H 但是有的时候找不到怎么办呢?我们只要上传个vbs文件就可以了,把下面的文件保存为lookweb.vbs:
On Error Resume Next
If (LCase(Right(WScript.Fullname,11))="wscript.exe") Then