oracle waitfor delay SQL注入之入门篇
oracle waitfor delay SQL注入之入门篇
一、理解SQL注入
SQL注入是一种将SQL代码插入或添加到应用(用户)的输入参数中的攻击,之后再将这些参数传递给后台的SQL数据库加以解析执行。简而言之,就是把用户输入的数据当做代码执行。注入的两个条件是:
第一oracle waitfor delay SQL注入之入门篇,用户能够控制输入;
第二oracle waitfor delay,程序要执行的代码拼接了用户输入的数据。
下面是一个SQL注入的典型例子:
select * from users where username='$user';
变量$user的值由用户提交,在正常情况下oracle waitfor delay,一般会输入用户名,比如“admin”,后台数据库会查询并返回用户“admin”的所有字段信息。但是如果用户输入一段有语义的SQL语句,比如输入$user的值为:
admin';drop table users--
那么,SQL语句在实际上执行时就会如下:
select * from users where username='admin';drop table users--'
可以看到原本正常执行语句后还会执行drop语句,删除掉users表!可见这就会产生一个严重的后果。
二、盲注(Blind )

盲注,就是指在服务器没有错误回显时实施的注入攻击。当没有回显信息时,就看不到服务器端的调试信息,无法判断构造的SQL语句是否能够执行。所以这不利于攻击者根据回显的信息实施更准确的攻击。盲注的验证方法是构造一个简单的条件语句,根据返回页面是否发生变化来判断SQL语句是否得到执行。
比如下面一个简单的URL:
https://www.s0nnet.com/showinfo.php?uid=admin
大多数后台逻辑执行的SQL语句如下:
select uid,username,address,email,phone from users where uid='admin'
如果攻击者构造如下的URL并提交:
https://www.s0nnet.com/showinfo.php?uid=admin' and 1=2
那么,SQL语句在实际上执行时就会如下:
select uid,username,address,email,phone from users where uid='admin' and 1=2
因为“and 1=2”永远是一个假命题,所以这条SQL语句的“and”条件永远无法成立。对于Web应用来说,也不会将结果返回给用户,攻击者将看到一个空白的页面或者一个出错的页面。
继续验证注入是否真的存在,因为一些后台的逻辑或者一些安全功能会导致攻击这构造是异常请求处理异常。这次构造一个恒为真的语句,将URL的输入改为“admin’ and 1=1’”,对应SQL语句为:
select uid,username,address,email,phone from users where uid='admin' and 1=1

如果页面返回正常了,就说明SQL语句成功执行,那么就可以判断此处的”id”参数存在SQL注入漏洞了。
三、时间延时注入( )
基于时间延时注入的特点就是可以根据时间的长短判断SQL语句是否得到执行。
比如,在MySQL中,有个()函数,它是用于测试函数性能的,测试执行N次指定表达式所用的时间。而对于攻击者oracle waitfor delay,可以利用()函数让同一个函数执行多次,使得结果返回的时间比正常情况下要长,故可以根据注入语句返回时间的相对长短判断构造的语句是否执行。
利用这种基于时间等待的延时注入需要一个等待的过程,攻击这可以构造如下这种参数uid的值:
admin union select if(substring(current,1,1)=char(115),benchmark(1000000,encode('ok','sometimes')),null) from (select database() as current) as table;
这段判断库名的第一个字母是否为char(115),即小写字母s。如果判断结果为真oracle waitfor delay SQL注入之入门篇,那么()函数就会执行,使得返回的时间相对较长;反之,该语句将会很快执行完。通过这种方法,攻击就可以遍历出所有字母,直到猜测出数据库中所有的库名、表名。当然,这个过程使用自动化工具或者编写脚本将会很快在搞定。
下面是其他一些数据库中类似的函数:
MySQL:(,md5(1)) 、SLEEP(10)
:.SLEEP(10)
MS SQL : ‘0:0:10’
:(10)、(1,)
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » oracle waitfor delay SQL注入之入门篇
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

