如何判断数据库被SQL注入漏洞
发布网友
发布时间:2022-04-22 04:41
我来回答
共2个回答
热心网友
时间:2022-04-08 09:19
SQL注入一般会在http://xxx.xxx.xxx/abc.asp?id=XX这样等带有参数的ASP动态网页中,有些动态网页中可能只有一个参数,有些可能有n个参数;有些参数是整型,有些参数是字符串型。只要是带有参数的动态网页访问了数据库就有可能存在SQL注入。
我们首选要修改浏览器的设置,以便更好的了解动态网页参数里包含的信息。以IE浏览器为例,把IE菜单-工具-Internet选项-高级-显示友好HTTP错误信息前面的勾去掉。
下面以http://xxx.xxx.xxx/abc.asp?p=YY为例进行分析,“YY”可能是整型,也有可能是字符串。
1、整型参数的判断
当输入的参数YY为整型时,通常abc.asp中SQL语句原貌大致如下:
select * from 表名 where 字段=YY,所以可以用以下步骤测试SQL注入是否存在。
(1)http://xxx.xxx.xxx/abc.asp?p=YY and 1=2, abc.asp运行异常;
(2)http://xxx.xxx.xxx/abc.asp?p=YY’(附加一个单引号),此时abc.ASP中的SQL语句变成了select * from 表名 where 字段=YY’,abc.asp运行异常;
(3)http://xxx.xxx.xxx/abc.asp?p=YY and 1=1, abc.asp运行正常,而且与http://xxx.xxx.xxx/abc.asp?p=YY运行结果相同;
如果这三个方面全部满足,abc.asp中一定存在SQL注入漏洞!
2、字符串型参数的判断
当输入的参数YY为字符串时,通常abc.asp中SQL语句原貌大致如下:
select * from 表名 where 字段=’YY’,所以可以用以下步骤测试SQL注入是否存在。
(1)http://xxx.xxx.xxx/abc.asp?p=YY&nb … 39;1’=’2′, abc.asp运行异常;
(2)http://xxx.xxx.xxx/abc.asp?p=YY&nb … 39;1’=’1′, abc.asp运行正常,而且与http://xxx.xxx.xxx/abc.asp?p=YY运行结果相同;
(3)http://xxx.xxx.xxx/abc.asp?p=YY’(附加一个单引号),此时abc.ASP中的SQL语句变成了select * from 表名 where 字段=YY’,abc.asp运行异常;
如果这三个方面全部满足,abc.asp中一定存在SQL注入漏洞!
3、字符被过滤的判断
有安全意识的ASP程序员会过滤掉单引号等字符,以防止SQL注入。这种情况可以用下面几种方法尝试。
(1)ASCII方法:所有的输入部分或全部字符的ASCII代码,如U = CRH(85),一个= CRH(97),等等。
(2)UNICODE方法:在IIS UNICODE字符集实现国际化,我们可以在输入字符串即输入UNICODE字符串。如+ = % 2 b,空格= % 20,等;
(1)混合设置方法:大小是大小写不敏感的,因为根据当时和过滤器的程序员通常要么过滤所有大写字母的字符串,或过滤所有小写的字符串,大小写混合往往会被忽略。如用SelecT代替select,SELECT等。
热心网友
时间:2022-04-08 10:37
如果以前没玩过注入, 请把IE菜单-工具-Internet选项-高级-显示友好HTTP错误信息前面的勾去掉。 为了把问题说明清楚,以下以asp?id=xx(" target=_blank>http://www.hackbase.com/news.asp?id=xx(这个地址是假想的) 为例进行分析,xx可能是整型...
sql注入攻击的基本步骤
1. 探测和发现SQL注入点。2. 构建并发送恶意SQL查询。3. 获取数据库敏感信息或执行恶意操作。详细解释:1. 探测和发现SQL注入点 攻击者首先会尝试确定网站哪些输入点可能存在SQL注入漏洞。他们可能会通过输入一些特殊的字符或字符串来测试网页的反应,这些特殊字符可能包括引号、分号等,用以观察服务器返回...
如何判断数据库被SQL注入漏洞
2、字符串型参数的判断 当输入的参数YY为字符串时,通常abc.asp中SQL语句原貌大致如下:select * from 表名 where 字段=’YY’,所以可以用以下步骤测试SQL注入是否存在。(1)http://xxx.xxx.xxx/abc.asp?p=YY&nb … 39;1’=’2′, abc.asp运行异常;(2)http://xxx.xxx.xxx/abc.asp...
SQL注入漏洞的判断
1. 网站使用的是Access数据库,通过JET引擎连接数据库,而不是通过ODBC。 2. 程序没有判断客户端提交的数据是否符合程序要求。 3. 该SQL语句所查询的表中有一名为ID的字段。 从上面的例子我们可以知道,SQL注入的原理,就是从客户端提交特殊的代码,从而收集程序及服务器的信息,从而获取你想到得到的资料。 第二节、...
如何判断是否存在SQL注入以及注入类型?
如何判断网站是否存在POST注入呢!请看以下步骤操作做。POST注入操作介绍:1.POST注入一般发生在表单数据传输时、抓取POST提交的数据进行SQL语句测试POST注入操作流程:比如抓取的POST数据为:userName=admin&password=admin测试诸如语句填写:userName=admin&password='admin 1=1--像这样userName 参数后面加一些SQL...
求教谁给讲讲SQL注入攻击的步骤
第一步:SQL注入点探测。探测SQL注入点是关键的第一步,通过适当的分析应用程序,可以判断什么地方存在SQL注入点。通常只要带有输入提交的动态网页,并且动态网页访问数据库,就可能存在SQL注入漏洞。如果程序员信息安全意识不强,采用动态构造SQL语句访问数据库,并且对用户输入未进行有效验证,则存在SQL注入...
怎么检测网站存在注入漏洞 防注入有哪些解决办法
许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码(一般是在浏览器地址栏进行,通过正常的www端口访问),根据程序返回的结果,获得某些想得知的数据,这就是所谓的SQL Injection,即SQL注入。第一步:很多新手从网上下载SQL通用防注入系统的...
网络安全 | SQL手工注入漏洞测试(MySQL数据库)
判断是否存在注入点时,使用sqlmap工具进行检测。以该题目为例,使用sqlmap检测后的输出结果显示了几个工具/系统信息,并确认存在SQL注入点。解答过程中,首先获取数据库名和数据库版本,通过在注入代码中添加id=-1,使用UNION SELECT语句来获取目标数据库信息。结果显示数据库名为mozhe_Discuz_StormGroup,...
注入漏洞的检测方法
在其流程中,首先判断取得的提交值userid1是否为空,不为空的话就进入SQL语句中,验证取得的用户名及密码是否和数据库内的用户名及密码一致,如果不一致,则弹出“用户名及密码错误”窗口,否则,就弹出“恢复成功”的窗口。这也是一段典型的注入漏洞源码,并且,接收的方式还是使用的 request,这就给我们提交注入语句提供...
SQL注入时,攻击人员是怎样知道目标网站的数据库结构的?
第二种就是靠字典暴力去跑,看返回回来的结果。第三种就是数据库有个information_schema这个库,记不太清楚了,里边记录的有你的表结构信息。还有第四种selectdatabase查出来你的库名字,再根据你的库名字这个条件查找表结构,再根据你的表名字查询字段名字。都有sql语句可以查询。我就知道这四种情况。...
什么是sql注入,如何防止sql注入
SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照...