基于SQL注入攻击的Web结构分析
2018-02-28苏丽
苏丽
摘要 本文在SQL注射攻击和Web环境之间关系的基础上,讲述了Web工作原理、Web程序的通信方式等,为理解SQL注入的生成过程提供一些背景知识。
【关键词】Web 工作机制 POST请求 GET 请求流程
1 引言
在网络技术与信息技术飞速发展的科技时代,Web应用程序具备界面统一、容易维护、操作简洁、共享度高、扩展性良好等优点。Web应用程序被运用到生活中的各个方面,由于Web应用是建立在广域网的基础上,对安全的管控行为力度较弱,攻击者趁机运用这个机会提交一段数据库查询代码,依据程序返回的内容,就可以获取一些数据库信息。
2 Web结构与工作机制分析
2.1 Web结构
Web是一个由文档组成的超大规模集合,其中使用链接互相联系。这些文档是由Web服务器提供,能够通过浏览器进行访问。Web是一组软件协议的集合。Web应用是一种用Web浏览器并经过intemet或内部往来访问的程序,Web应用程序通常是须要Web浏览器,Web服务器,是基于客户机/服务器的配置而运行的,即B/S结构。
当用户在客户端点击相应的链接发出页面请求的时候,Web服务器接到这个请求并按照请求处理逻辑进行处理,如果用户的请求页面存储在数据库中,处理逻辑会连接后台数据库,检索用户所需要的原始数据并将其加工成网页的形势,最后由Web服务器软件将页面返回给用户。
2.2 Web工作机制
由于本文研究是基于SQL注入攻击进行Web研究与分析,所以只讨论超文本传输协议。超文本传输协议包含两个阶段:请求阶段和响应阶段。浏览器和Web服务器之间的每一次http通信都包含这两个部分:头部和主体。头部里面含有与通信有关消息,主体里面是通信的数据,当然前提是存在这样的数据。
此次研究只讨论在Web应用中SQL注入常见的HTTP方法:GET、POST。它们各自的特点如下:
2.2.1 GET请求
发起GET请求时服务器使用的HTTP方法是显示在URL中。一般Web浏览器发起GET请求,发送到Web服务器,然后会在浏览器中出现结果,GET请求对用户来说是可见的,但发送给Web服务器的GET请求格式如下:
GET/search.aspx?text=lcd%20monitors&cat=l&num=20 HTTP/1.1
Hosr:www.xx.com
User-Agent:Mozilla/5.O(xll;U;Linuxx86_64;en-US;rv:1.8.1.19)
Accept:text/xml,application/xml,applic ation/xhtml+xml,
Text/html; q=0.6,text/plain;q=0.7,image/png.*/*;q=0 8
Accept-Encoding:gzip,deflate
Accept - C,harset:IS0-8 8 5 9-l,utf-8;q=0.5,*;q=0 5
Keep-Alive;300
Proxy-Connection:keep-alive
這条请求在URL中发送参数,格式如下:
?paramenterl=valuel&patamenter2=value2
上面的示例中包含三个参数:text、cat和num。远程应用将检索这些参数值,将他们用于实现设计好的目的。对于GET请求来说,只需要在浏览器的导航栏中稍加修改就可以操纵这些参数。
2.2.2 POST请求
POST请求是一种用于向Web服务器发送信息的HTTP方法。服务器执行的操作取决于目标URL。在浏览器中填写表单并单击提交按钮时通常使用这个方法。下面的示例给出了浏览器发送给远程Web服务器的内容:
POST/contact/index.asp HTTP/1.1
Host:www.xx.com
User-Agent: Mozilla/5.0 (xll;U;Linuxx86_64,en-US,rv:1.8.1.19)
Gecko/20170511
Ubuntu/8.04(hardy)Firefox/2.0.0.19
Acc ept:text/xml,application/xml,applic ation/xhtml+xml,
Text/html; q=0.6text/plain; q=0.7image/png,*/*;q=0.9
Accept-Encoding:gzip,defiate
Accept-Charset:ISO-8 8 5 9-l,utf-8;q=0.3,*;q=0 3
Keep-Alive;300
Re ferer:http://www.victim.c om/eontact/index.asp
C ontent-type:application/x-www - form-urlencoded
Content-Length:129
First=j ohn&last=Doe&email=j ohn@doe.com&phone=31337 82&title=Mr&contry=US&comment=l%20would%201ike%20to%20request%20information
3 总结
本文主要论述了Web系统的工作原理,POST请求过程及其对数据的处理过程,同时也介绍了GET请求,对于网络系统管理人员,应用开发人员来说理解知道对于Web应用安全有一个系统、清楚的框架认知。对SQL注入在Web上防范起到一定的了解和帮助。
参考文献
[1]刘文生,乐德广,刘伟.SQL注入攻击与防御技术研究[J].信息网络安全,2015 (09).
[2]王云,郭外萍,陈承欢.Web项目中的SQL注入问题研究与防范方法[J].计算机工程与设计,2010 (05).