网络安全——SQL注入攻击

1、Web安全概述

Web安全可以从以下三个方面进行考虑:

Web服务器的安全

Web客户端的安全

Web通信信道的安全

 

2、Web服务器的安全

针对Web服务器的攻击可以分为两类:

一是利用Web服务器的漏洞进行攻击,如IIS缓冲区溢出漏洞利用、目录遍历漏洞利用等;

二是利用网页自身的安全漏洞进行攻击,如SQL注入,跨站脚本攻击等。

针对Web服务器具体的安全威胁主要体现在以下几个方面:

-服务器程序编写不当导致的缓冲区溢出(Buffer Overflow)并由此导致远程代码执行。

-针对服务器系统的拒绝服务攻击(Denial of Service)。

-脚本程序编写不当、过滤不严格造成的数据库查询语句注入(SQL Injection),可能引起信息泄漏、文件越权下载、验证绕过、远程代码执行等。

-乐观相信用户输入、过滤不严导致跨站脚本攻击(XSS,Cross Site Script),在欺骗管理员的前提下,通过精心设计的脚本获得服务端Shell。

3、Web客户端的安全

Web应用的迅速普及,客户端交互能力获得了极为充分的发挥,客户端的安全也成为Web安全的焦点问题。

Java Applet、ActiveX、Cookie等技术大量被使用,当用户使用浏览器查看、编辑网络内容时,采用了这些技术的应用程序会自动下载并在客户机上运行,如果这些程序被恶意使用,可以窃取、改变或删除客户机上的信息。

浏览网页所使用的浏览器存在众多已知或者未知的漏洞,攻击者可以写一个利用某个漏洞的网页,并挂上木马,当用户访问了这个网页之后,就中了木马。这就是网页木马,简称网马。

同时,跨站脚本攻击(XSS)对于客户端的安全威胁同样无法忽视,利用XSS的Web蠕虫已经在网络中肆虐过。

4、Web通信信道的安全

和其他的Internet应用一样,Web信道同样面临着网络嗅探(Sniffer)和以拥塞信道、耗费资源为目的的拒绝服务攻击(Denial of Service)的威胁。

5、OWASP Top 10

A1-注入

A2-失效的身份认证和会话管理

A3-跨站脚本

A4-不安全的直接对象引用

A5-安全配置错误

A6-敏感数据暴露

A7-功能级别访问控制缺失

A8-跨站请求伪造

A9-使用已知易受攻击组件

A10-未验证的重定向和转发

6、SQL注入原理

程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。

攻击者可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。

受影响的系统:对输入的参数不进行检查和过滤的系统。

 

7、SQL注入

判断注入点  index.php?id=1 and 1=1

判断列数      index.php?id=1 order by 10

判断显错点   index.php?id=1 union select 1, 2, 3

获取数据库名      index.php?id=1 union select 1, database(), 3

获取表名

获取列名

获取数据

 

8、什么是XSS攻击

XSS是跨站脚本攻击(Cross Site Script) 。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该网页时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。

本来跨站脚本攻击(Cross Site Scripting)应该缩写为CSS,但这会与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。因此人们将跨站脚本攻击缩写为XSS。

 

9、Web服务器指纹识别

Http指纹识别的原理:记录不同服务器对Http协议执行中的微小差别进行识别。

Http指纹识别比TCP/IP堆栈指纹识别复杂许多,理由是定制Http服务器的配置文件、增加插件或组件使得更改Http的响应信息变的很容易,这样使得识别变的困难;然而定制TCP/IP堆栈的行为需要对核心层进行修改,所以就容易识别。

 

 

 

 

10、Web盗窃

HTTP指纹识别是为了判断服务器的版本,从而找到服务器的漏洞。

而Web盗窃的目的是通过对各个网页页面源码的详细分析,找出可能存在于代码、注释或者设计中的关键缺陷和脆弱点,以此来确定攻击的突破点。

盗窃web服务器的两种方法:逐页手工扫描自动扫描

11、欺骗攻击

(1)ARP欺骗网页劫持

(2)DNS欺骗网站重定向

(3)网络钓鱼

ARP欺骗原理

原理:主机在实现ARP缓存表的机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。

ARP欺骗攻击的防范

①    MAC地址绑定,使网络中每一台计算机的IP地址与硬件地址一一对应,不可更改。

②    使用静态ARP缓存,用手工方法更新缓存中的记录,使ARP欺骗无法进行。

③    使用ARP服务器,通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。

④    使用ARP欺骗防护软件,如ARP防火墙。

⑤    发现正在进行ARP欺骗的主机并将其隔离。

DNS欺骗的原理及实现步骤

当客户主机向本地DNS服务器查询域名的时候,如果服务器的缓存中已经有相应记录,DNS服务器就不会再向其他服务器进行查询,而是直接将这条记录返回给用户。

而入侵者欲实现DNS欺骗,关键的一个条件就是在DNS服务器的本地Cache中缓存一条伪造的解析记录。

在上面的例子中,假如dhs.com域DNS服务器返回的是经过黑客篡改的信息,比如将www.dhs.com指向另一个IP地址5.6.7.8,nipc.com域DNS服务器将会接受这个结果,并将错误的信息存储在本地Cache中。以后在这条记录被缓存的生存期内,再向nipc.com域DNS服务器发送的对www.dhs.com的域名解析请求,所得到的IP地址都将是被篡改过的。

网络钓鱼

网络钓鱼是一种电子信息欺骗,攻击者创造了一个完整的令人信服的Web世界,但实际上它却是一个虚假的复制。

虚假的Web看起来十分逼真,它拥有相同的网页和链接。然而攻击者控制着这个虚假的Web站点,这样受害者的浏览器和Web之间的所有网络通信就完全被攻击者截获。

12、网页验证码

验证码技术属于人机区分问题,这在英文中称为CAPTCHA,它是是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)的简称。

验证码技术的主要思想是必须通过人为参与完成信息提交过程,并且对验证码字体和背景做了相关处理。

基于验证码的表单提交流程

为了防止攻击者利用程序自动注册、登录、发帖,验证码技术日益得到广泛的应用。

基于验证码的表单提交流程如图所示。

验证码的类型

当前互联网上较为常见的验证码主要有以下几种:

-文本验证码:在网页上以文本形式呈现给用户;

-手机验证码:用户在网页上提交自己的手机号码,系统以短信形式将验证码发送到用户手机上;

-邮件验证码:用户在网页上提交自己的电子邮箱,系统以e-mail形式将验证码发送到用户的邮箱中;

-图片验证码:又称“验证水印”,在网页上以图片形式呈现给用户。

网络安全学习资源分享:

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享 (qq.com)

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

在这里插入图片描述

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享 (qq.com)

因篇幅有限,仅展示部分资料,需要点击上方链接即可获取

猜你喜欢

转载自blog.csdn.net/VN520/article/details/130283337