SQL概述及在网络安全中的应用(下)

2016-01-29 15:57 2 1 收藏

SQL概述及在网络安全中的应用(下),SQL概述及在网络安全中的应用(下)

【 tulaoshi.com - SQLServer 】

3.2.3 利用结构错误查询表单

一些数据库服务器返回的错误信息中包含了一部分格式错误消息,你可以通过分析这些片断来构造你提交的INJECTION语句,有些你提交的字符串会返回有用的信息,有的却不会,这主要是以来于web应用程序中SQL查询语句是如何设计的.下面这些是我推荐你尝试的字符串:

  '   BadValue'   'BadValue   ' OR '   ' OR   ;   9,9,9

通常这些字符串中的一些会返回相同的信息,或者根本不返回信息.但是有例子告诉我们,可能有的信息只有用他们中的一个才能得到,所以你最好提交字符串的时候,把他们都试一遍.

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/sqlserver/)

3.2.4 圆扩弧

如果有缺陷的查询语句中包含圆扩弧'(' (就像下面将会举的例子那样),或者返回的错误信息里显式地提醒你缺了'('号(Oracle这么做),那么你应该在你提交的SQL注射字符串中加入'('号.通常在WHERE子句后面加一个括号,但是在一些情况下,你需要加2个或者更多的括号.

下面是parenthesis.asp的源码:

  mySQL="SELECT LastName, FirstName,    Title, Notes, Extension FROM Employees WHERE (City = '" & strCity & "')"

我们插入如下的值:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/sqlserver/)

  "') UNION SELECT OtherField FROM OtherTable WHERE (''='"

那么传送给SQL SERVER的语句就变成了这样:

SELECT LastName, FirstName, Title, Notes, Extension FROM Employees WHERE (City = '') UNION SELECT OtherField From OtherTable WHERE (''='')

3.2.5 LIKE语句查询

另一个大的灾难是陷入一个LIKE子句的陷阱.(Seeing the LIKE keyword or percent signs cited in an error message are indications of this situation.)大多数的web搜索程序使用LIKE子句来查询数据库,比如下面这个:

SQLString = "SELECT FirstName, LastName, Title FROM Employees WHERE LastName LIKE '%" & strLastNameSearch & "%'"

这里面的%是通配符,在这个例子里,WHERE子句会返回TRUE,只要LASTNAME里有字符串含有strLastNameSearch.为了阻止SQL SERVER返回预计中的记录,你构造的SQL语句里必须含有LASTNAME里没有的字符串.web搜索程序搜索的字符串来自于用户的输入.通常有一个'和一个%在输入的字符串之前,因此我们构造字符串时,需要在WHERE子句中匹配它们.如果你提交了NULL作为搜索字符串,那么LIKE的参数会变成"%%",这是一个全匹配,会返回所有的记录。

来源:https://www.tulaoshi.com/n/20160129/1496874.html

延伸阅读
标签: Web开发
是不是常常面对一长串的网址而感到厌烦呢?是否常常遇到一些网站的网址又长又难记的呢?是不是经常在玩twitter这类的micro-blog或者到一些论坛、讨论区,甚至只是BBS想要发表文章同时带上一个网址连接时,发现网址太长或者恰好这个域名被封锁了,因而无法发表呢? 遇到这些情况,许多人一定会立刻想到web2.0以来所出现的许多专门提供网址...
标签: MySQL mysql数据库
随着网络的普及,基于网络的应用也越来越多。网络 数据库 就是其中之一。通过一台或几台服务器可以为很多客户提供服务,这种方式给人们带来了很多方便,但也给不法分子造成了可乘之机。由于数据都是通过网络传输的,这就可以在传输的过程中被截获,或者通过非常手段进入数据库。由于以上原因,数据库安全就显得十分重要。因此,本文就以上问题讨...
目前的局域网基本上都采用以广播为技术基础的以太网,任何两个节点之间的通信数据包,不仅为这两个节点的网卡所接收,也同时为处在同一以太网上的任何一个节点的网卡所截取。因此,黑客只要接入以太网上的任一节点进行侦听,就可以捕获发生在这个以太网上的所有数据包,对其进行解包分析,从而窃取关键信息,这就是以太网所固有的安...
  关于用户资源 对你的系统上所有的用户设置资源限制可以防止DoS类型攻击,如最大进程数,内存数量等。例如,对所有用户的限制, 编辑/etc/security/limits.con加入以下几行: * hard core 0 * hard rss 5000 * hard nproc 20 你也必须编辑/etc/pam.d/login文件,检查这一行的存在: session requir...
  关于Telnet 如果你希望用户用Telnet远程登录到你的服务器时不要显示操作系统和版本信息(可以避免有针对性的漏洞攻击),你应该改写/etc/inetd.conf中的一行象下面这样: telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h 加-h标志在最后使得telnet后台不要显示系统信息,而仅仅显示login。 ...

经验教程

24

收藏

26
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部