浅谈HTTP协议和XSS渗透攻击

140 阅读4分钟

前言

众所周知,网络协议有很多,我们经常遇到或者看到、听到的就是TCP/IP协议、UDP协议,HTTP协议、FTP协议、DNS协议、DHCP协议、SMTP协议等,今天我们主要谈谈HTTP协议,以及利用这个协议的网络攻击,从而达到防范的目的。

一、HTTP协议的基本介绍

HTTP的中文意思是超文本传输协议,是英文HyperText Transfer Protocol的缩写,一看这个名字,顾名思义,是传输文本内容的。HTTP协议需要客户端向服务器发送请求,服务器再给予相应,请求一般为POST请求或者GET请求,我们常听说的爬虫就是模拟这些请求向服务器发送请求包,再过滤服务器回应的内容,提取我们想要的结果。

二、HTTP协议会泄露的信息

我们简单用浏览器自带的检查功能来看下,我们客户端发送的请求包含哪些信息。如图:

1.png 我们可以看出请求头里包含了我们要访问的地址,然后还有一个状态码200,200表示访问成功,还有一些常用的状态码: 3xx(重定向)表示要完成请求,需要进一步操作。通常这些状态代码用来重定向。

301,永久性重定向,表示资源已被分配了新的 URL

302,临时性重定向,表示资源临时被分配了新的 URL

303,表示资源存在另一个URL,用GET方法获取资源

304,(未修改)自从上次请求后,请求网页未修改过。服务器返回此响应时,不会返回网页内容

4xx(请求错误)这些状态码表示请求可能出错,妨碍了服务器的处理

400(错误请求)服务器不理解请求的语法

401表示发送的请求需要有通过HTTP认证的认证信息

403(禁止)服务器拒绝请求

404(未找到)服务器找不到请求网页

5xx(服务器错误)这些状态码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求的错误

500,(服务器内部错误)服务器遇到错误,无法完成请求

503,表示服务器处于停机维护或超负载,无法处理请求

常见的就是上面那么多,下面我们继续往下看

2.png Accept-Language表示显示的语言的优先级

User-Agent表示客户端的信息,这个很重要,不管是爬虫还是黑客模拟攻击,大概率都需要复制一个真实的User-Agent来骗过服务器。

下面说到最重要的Cookie信息,cookie信息是保存我们的登录状态的,通俗的说可以不用再次输入账号密码,也就是说如果黑客截获了我们的cookie信息,就可以登录服务器,如果我们是服务器的管理员,那么他们就能控制服务器,当然这是理论上,操作起来要达到很多的条件,但是基本的攻击思路就是这样。

三、XSS渗透攻击

XSS是web渗透攻击的一种,自然它也是几个单词的缩写,Cross Site Scripting跨站脚本攻击,那为什么不是CSS,因为CSS已经被用了,就是层叠样式表,所以改名为XSS。为什么叫跨站脚本攻击,因为他不是直接攻击服务器或者客户端,而是通过客户端来攻击服务器,或者服务器攻击客户端,或者通过第三方服务器来攻击目标服务器和客户端,所以叫跨站,跨了多个站点。那么XSS和HTML有什么关系呢,举一个简单的操作示例。

当你在一个网站更新个性签名的时候,你将一段JS代码输在文本框里,假设这段代码是跳转到非法网站的,在目标服务器的验证不充分的时候,你这段代码是有可能写到服务器里面的,当管理员登陆后台查看服务器里的数据时,浏览器加载HTML页面时也会加载JS代码,这样管理员的页面就会跳转。

有些朋友说,那这也没啥,如果我们的代码是搜集cookie信息呢,那么我们就获得了管理员的cookie和服务器后台的网址,那么我们就可以模拟管理员进入后台,具体能干什么大家自行想象。

总结

上面只是简单介绍了一下HTTP协议和XSS攻击,大家明白大致原理,小错误不要犯。