首页 > 其他分享 >聊聊web安全

聊聊web安全

时间:2024-12-21 15:31:18浏览次数:7  
标签:web HTTP 请求 URL 安全 聊聊 服务器 浏览器 客户端

先说一个基础知识:URL和URI的区别?

url(Uniform Resource Locator,统一资源定位符)

是用于标识互联网上资源的地址,它不仅指定了资源的位置,还包括了用于访问该资源的协议。例如,http://www.example.com/index.html 就是一个 URL,它明确指出了使用 HTTP 协议访问 www.example.com 网站的 index.html 文件

uri(Uniform Resource Identifier,统一资源标识符)

是一个更广泛的概念,它只用于标识资源,而不涉及如何访问这些资源。URI 可以是 URL,但也可以是 URN(Uniform Resource Name,统一资源名称)等其他形式。例如,mailto:example@example.com 是一个 URI,但不是 URL,它只是标识了一个电子邮件地址这个资源。

http详解

 http协议 HTTP 协议目前最新版的版本是1.1,HTTP是一种无状态的协议。无状态是指Web浏览器 与Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后 Web服务器返回响应(Response),连接就被关闭了,在服务器端不保留连接的有关信息。也就 是说,HTTP请求只能由客户端发起,而服务器不能主动向客户端发送数据。

 请求响应

HTTP请求包括三部分,分别是请求行(请求方法)、请求头(消息报头)和请求正文。下面是HTTP请求的一个例子。

POST/1ogin.php HTTP/1.1    //请求行

HOST:www.xxser.com //请求头

User-Agent:Mozilla/5.0(Windows NT 6.1;rv:15.0) Gecko/20100101 Firefox/15.0 //空白行,代表请求头结束

Username=admin&password-admin //请求正文

 

与HTTP请求对应的是HTTP响应,HTTP响应也由三部分内容组成,分别是响应行、响 应头(消息报头)和响应正文(消息主题)。下面是一个经典的HTTP响应。

HTTP/1.1200OK //响应行

Date:Thu,28Feb 201307:36:47 GMT //响应头

Server:BWS/1.0

Content-Length:4199

Content-Type:text/html;charset=utf-8

Cache-Control:private

Expires:Thu,28 Feb 2013 07:36:47GMT

Content-Encoding:gzip

Set-Cookie: H_PS_PSSID=20221438_1944_1788; path=/;domain=,xxser.com

Connection:Keep-Alive //空白行,代表响应头结束

<htm1> //响应正文或者叫消息主题

<head><title>Index.html</title>

</head>

 

请求方式

get/post/head/put/delete./trace/options/connect/

状态码

1xx:信息提示,表示请求已被成功接收,继续处理。其范围为100~101。

2xx:成功,服务器成功地处理了请求。其范围为200~206。

3xx:重定向,重定向状态码用于告诉浏览器客户端,它们访问的资源已被移动,并告 诉客户端新的资源地址位置。这时,浏览器将重新对新资源发起请求。其范围为300~ 305。

4xx:客户端错误状态码,有时客户端会发送一些服务器无法处理的东西,比如格式错 误的请求,或者最常见的是,请求一个不存在的URL。其范围为400~415

常见的状态码:

200:容户端请求成功,是最常见的状念。
302 :重定向。
404 : 请求资源不存在是最常见的状态。
400:客户端请求有语法错误,不能被服务器所理解。
401: 请求术经授权。
403:服务器收到请求,但是拒绝提供服务。
500 : 服务内部错误 ,是最常见的状念。 503:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

 

http消息

请求头

key value解释
Host Host请求报头域主要用于指定被请求资源的Interet主机和端口号,例如:HOST: www.xxser.com:801。
User-Agent User-Agent请求报头域允许客户端将它的操作系统、浏览器和其他属性告诉服务器。登录 一些网站时,很多时候都可以见到显示我们的浏览器、系统信息,这些都是此头的作用,如: User-Agent: My privacy
Referer Referer包含一个URL,代表当前访问URL的上一个URL,也就是说,用户是从什么地方 来到本页面。如:Referer: www.xxer.com/login.php,代表用户从login.php来到当前页面。
Range Range可以请求实体的部分内容,多线程下载一定会用到此请求头。例如:表示头500字节:bytes=0~499
Cookie Cookie是非常重要的请求头,它是一段文本,常用来表示请求者身份等。在后面将会详细 讲述Cookie。
Accept Accp请求报头域用于指定客户端接收哪些MIME类型的信息,如Accep: texthml,表 明客户端希望接收HTML 文本。
Accept-Charset Accp-Charset请求报头城用于指定客户端接收的字符集。例如:Accp-Charsetio-859-1, gb2312。如果在请求消息中没有设置这个域,默认是任何字符集都可以接收。
更多的头信息可以参考这个 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept

响应头

key value解释
Server   服务器所使用的Web服务器名称,如Server:Apache/1.3.6(Unix),攻击者通过查看此头,可 以探测Web服务器名称。所以,建议在服务器端进行修改此头的信息。
Set-Cookie 向客户端设置Cookie,通过查看此头,可以清楚地看到服务器向客户端发送的Cookie 信息。
Last-Modified 服务器通过这个头告诉浏览器,资源的最后修改时间。
Location 服务器通过这个头告诉浏览器去访问哪个页面,浏览器接收到这个请求之后,通常会立刻 访问Location头所指向的页面。这个头通常配合302状态码使用。
Refresh 服务器通过Refresh头告诉浏览器定时刷新浏览器。
更多响应头参考这里 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/100

 

 

 

 

 

 

 

更多的关于http协议的内容,可以去看看这个网站:https://developer.mozilla.org/zh-CN/docs/Web。  这里面讲的很详细了 。

信息探测

收集web信息

可以使用一些关键字在搜索引擎探测:

关键字描述示例用途
site 指定域名 site:example.com 快速聚焦特定网站,获取该网站内与关键字相关的信息
intext 正文中存在关键字的网页 intext: 敏感信息 filetype:txt 挖掘网站中正文包含特定关键词的文本内容
intitle 标题中存在关键字的网页 intitle: 新闻 关键词 定位与特定主题相关的网页标题
info 获取一些基本信息 info:website.com 提供网站的初步了解和背景信息
inurl URL 中存在关键字的网页 inurl: 产品展示 找到与特定主题相关的网页链接
filetype 搜索指定文件类型 filetype:pdf 技术文档 筛选特定类型的文件资源

 

漏洞扫描

漏洞扫描也属于一种信息探测,使用扫描器可以帮组我们发现更多的问题。

可以使用下面几种进行扫描:

Burp Suite
AWVS
AppScan

 

 

 

 

具体使用方式,可以自行百度。使用这些工具发先漏洞问题,后面就是如何防止这些漏洞发生。

 

漏洞原理

sql注入

2013年大学老师讲的案例是这样的:一个后台登陆页面,输入用户名密码后,后端拿着接受到的账号密码去验证。但是这个验证的过程是通过sql的条件比对进行的。所以,这些条件完全就依赖于用户在客户端输入的数据,如果输入的内容包含 “or 1=1 or” 这样的条件的时候,就已经注入了脚本。

说到底,是因为服务端的信任了客户端输入的数据,才会导致最终的执行结果。所以,对于客户端输入的任意的内容,都要视为不可靠的内容。

下面说说注入的分类
1.数字型注入

比如对输入的数字类型进行注入的情况:

select * from table where id = 8 `  //对于这样的查询肯定是会报错的,因为源ID是数字类型的

//如果注入的条件是id=8 and 1=1
select * from table where id=8 and 1=1 //对于这样的sql和正常的结果是一样的

标签:web,HTTP,请求,URL,安全,聊聊,服务器,浏览器,客户端
From: https://www.cnblogs.com/euler-blog/p/18620802

相关文章

  • 什么是渐进式 Web 应用,有哪些特点
    渐进式Web应用(ProgressiveWebApps,PWAs)的定义与特点一、定义渐进式Web应用(ProgressiveWebApp,简称PWA)是一种结合了传统Web技术和现代移动应用特性的新型应用程序形式。PWAs可以像普通网站一样通过浏览器访问,但同时具备安装到设备主屏幕作为独立应用运行的能......
  • HTTP协议及安全防范
    HTTP(HypertextTransferProtocol)超文本传输协议是一个用于Web应用程序通信的应用层协议。它是一种客户端-服务器协议,客户端通过发送请求到服务器来获取资源,服务器则根据请求返回响应。HTTP协议通常使用TCP作为传输协议,但也可以使用其它传输协议由于图片解析问题,可以点击查看......
  • webman: 打包二进制
    一,官方文档地址:https://webman.workerman.net/doc/zh-cn/others/bin.html二,报错的处理:1,$phpwebmanbuild:binRoute/delete["app\\controller\\LoginController","delete"]isnotcallableInBuildPharCommand.phpline142:......
  • webman: 使用模板引擎twig
    一,安装$composerrequiretwig/twig二,配置config/view.php<?php/***Thisfileispartofwebman.**LicensedunderTheMITLicense*Forfullcopyrightandlicenseinformation,pleaseseetheMIT-LICENSE.txt*Redistributionsoffilesmustretain......
  • Django:一个王者级Web开发Python框架
    大家好啊!今天我要和大家分享Python世界中的"网站开发利器"——Django框架。它就像是一个全能的网站建筑师,不仅自带了后台管理系统、数据库接口、用户认证等功能,还能帮我们处理各种安全问题。使用Django,我们可以快速搭建一个功能完善的网站。无论你是想做个人博客,还是想开发企业......
  • 如何使用Yolov8训练使用——智慧煤矿检测井下作业 矿工煤矿工作人员检测 液压支撑防护
    煤矿井下开采异常检测数据集,用于目标检测智慧矿井智能分析应用数据集包含6类目标:1.煤矿工作人员检测2.液压支撑防护板检测(液压支撑防护板所有角度如防护板0到30度,30度到60…等多角度检测,防护板异常等)3.大煤块检测(输送带上的异物,锚杆,煤矸石等类别)4.采煤机拖揽检测5.......
  • webman:通过orm访问数据库
    一,文档地址:https://www.workerman.net/doc/webman/db/tutorial.html二,安装所需的库$composerrequire-Willuminate/databaseilluminate/paginationilluminate/eventssymfony/var-dumperlaravel/serializable-closure三,配置文件:config/database.phpreturn[//......
  • LEC: 基于Transformer中间层隐藏状态的高效特征提取与内容安全分类方法
    随着语言模型(LMs)应用范围的扩大,对用户输入和模型输出中不当内容的检测变得日益重要。每当主要模型供应商发布新模型时,研究人员首先会尝试寻找绕过模型安全限制的方法,使其产生不符合预期的响应。通过Google的搜索可以发现,已有多种方法可以绕过模型的对齐调整,导致模型对不当请求作出......
  • 你有做过webAR吗?说说你的理解
    是的,我有过开发WebAR(Web-basedAugmentedReality,基于网络的增强现实)的经验。以下是我对WebAR在前端开发中的理解:WebAR是一种通过Web浏览器来体验的增强现实技术。与传统的增强现实应用相比,WebAR无需用户安装额外的应用或插件,只需通过支持WebAR的浏览器即可体验。这使得WebAR具有......
  • 做webAR你一般用哪些框架?
    在WebAR(Web端增强现实)的前端开发中,框架的选择主要取决于项目的具体需求和开发团队的偏好。目前,虽然没有特定的框架是专门为WebAR设计的,但Web前端开发的几大主流框架,如Angular、React和Vue,都可以被用于构建WebAR应用。这些框架提供了丰富的功能和强大的性能,能够满足WebAR开发的大部......