标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2024-3336]   作者: 浩丶轩 发表于: [2023-09-08]

本文共 [52] 位读者顶过

Web应用程序安全与风险  

[出自:jiwo.org]

1.web发展历程


静态内容阶段(HTML)

CGI程序阶段(增加了APA接口,可以动态)

脚本语言阶段(ASP,PHP,JSP等)

瘦客户端应用阶段(独立于WEB服务器的应用服务器)

RIA应用阶段(DHTML+AJAX可以不用刷新功能内容可变)

移动WEB应用阶段(安卓。Ios )


2.常见的WEB应用程序漏洞


跨站脚本漏洞

弱口令漏洞

SQL注入漏洞

密码重用漏洞

任意文件上传漏洞

密码泄露

远程代码执行漏洞

源代码信息泄露

任意文件下载漏洞

存在入侵痕迹

越权访问

登陆可暴力猜解漏洞

旁注漏洞

文件任意写入漏洞

……


3.核心安全问题和因素


1.核心的安全问题

用户可向服务器端应用提交任意输入


2.关键问题因素

不成熟的安全意识

独立开发

欺骗性的简化

迅速发展的威胁形势

资源与时间限制

技术上强其所难

对功能需求不对增强


3.新的安全边界

安全边界向用户端转移


在web应用程序出现之前

主要在网络边界上抵御外部攻击,保护这个边界需要对其提供服务进行强化打补丁,设置防火墙。


在web应用程序出现之后

用户要访问应用程序,边界防火墙一定要允许其通过HTTP/HTTPS连接内部服务器,应用程序要实现其功能,必须允许其连接服务器来支持后端系统、数据库、大型主机、金融与后勤系统。


如果存在漏洞,只要提交专门设计的数据就可以公婆组织的核心后端系统,这些数据就像正常,良性数据流一样,穿透组织的所有防御

所以要在应用程序内部执行防御措施 第三方小部件、以及很多跨域集成技术,让服务器端的安全边界跨越了组织本身的边界。


小结

应用程序使用SSL仅仅表示网络其他用户无法查看修改攻击者传送的数据

SSL无法阻止攻击者向服务器提交专门设计的输入

攻击者控制着SSL通道终端,可以向服务器发任何内容


4.做一个有良心的白帽子


1、腾讯http://security. tencent. com

2、网易http://aq. 163. com

3、京东http://security. jd. com

4、百度http/sec. baidu. com

5、补天https://www. but ian. net/

6、漏洞银行https://www. bugbank. cn

7、Sebug http://sebug. net/

8.、freebuf http://www. freebuf. com/

9、wooyun 镜像http://www.anquan.us

10、全球黑客攻防学习站点https://link-base.org

攻防学习网址导航

1、安全圈https://www.anquanquan.info/

HACKED SAFE

Hacked safe

众测平台:

漏洞盒子:www.vulbox.com

CNVD众测平台:http://zc.cnvd.org.cn


5.渗透测试基本流程


渗透测试流程

0.授权

1.信息收集

2.扫描漏洞

3.漏洞利用

4.提权

5.渗透测试报告


web请求流程与HTTP方法刨析  


1.HTTP


HTTP超文本传输协议,是访问万维网使用的核心通信协议,也是今天所有web应用程序使用的通信协议。


HTTP使用一种用于消息的模型:客户端发送一条请求信息,服务端返回一条响应消息。

该协议基本上不需要连接,虽然HTTP使用有状态的TCP协议作为他的传输机制,但是每次请求和响应都会自动完成,并且可能使用不同的TCP连接。


1.1HTTP请求


HTTP请求实例:


GET /auth/488/YourDetails.ashx?uid=129 HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Referer: https://mdsec.net/auth/488/Home.ashx
Accept-Language: zh-cn,zh;q=0.5
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WDW64;
Trident/4.0; SLCC2;. NET CLR 2.0.50727;. NET CLR 3.5.30729; .NET CLR
3.0.30729; .NET4.OC; InfoPath.3; .NET4.OE; FDM;。NET CLR 1.1.4322)
Accept-Encoding: gzip, deflate
Host: mdsec.net
Connection: Keep-Alive

Cookie: SessionId=5870C7lF3FD4968935CDB6682E545476

HTTP请求实例分析

get

get:主要作用是从web服务器获取一个资源,存在一个名为uid、值为129的参数;HTTP1.1协议版本(HTTP1.1版本必须使用host请求头)

Accept

Accept表示浏览器支持的MIME类型。


MIME类型分别是:text/html、application/xhtml+xml、application/xml 和 /

text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;

text/html:表示 html 文档;

Application:用于传输应用程序数据或者二进制数据;

application/xhtml+xml表示 xhtml 文档;

application/xml表示 xml 文档

*/*表示支持任何类型

q:表示权重:如果没有则默认为1,表示优先这些类型。实例中0.9 表示前面都没有就用这个,最后的 0.8 表示如果都没有,那么任意的类型都行。

q是权重系数,范围 0 =< q <= 1,q 值越大,请求越倾向于获得其“;”之前的类型表示的内容,若没有指定 q 值,则默认为1,若被赋值为0,则用于提醒服务器哪些是浏览器不接受的内容类型。

Referer

Referer: 用于表示发出请求的原始URL(例如,因为用户单击页面上的一个链接)

(可防下载、盗链、判断非法链接)

Accept-Language

表示浏览器支持的语言:zh-cn表示简体中文、zh表示中文;q表示权重系数。

User-Agent

User-agent消息头提供与浏览器或其他生成请求的客户端软件有关的信息

HOST

用来指定被访问的完整url中的主机名。

如果多个站点以同一服务器为主机就需要使用host主机头。

Accept-Encoding

表示浏览器支持的压缩编码,如:gzip和deflate

Cookie

用于提交服务器向客户端发布的其他参数

Connection

表示持久的客户端与服务连接。

Close和keep

Close较好表示获取到数据后服务器与客户端断开

Keep用户量大会出问题

Upgrade-Insecure-Requests: 1

该指令用于让浏览器自动升级请求从http到https,用于大量包含http资源的http网页直接升级到https而不会报错.简洁的来讲,就相当于在http和https之间起的一个过渡作用。

X_FORWARDED_FOR

是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。


1.2HTTP响应


HTTP响应实例


HTTP/1.1 200 OK
Date: Tue, 19 Apr 2011 09:23:32 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Set-Cookie: tracking=tI8rk7joMx44S2Uu85nSWc
X-AspNet-Version: 2.0.50727
Cache-Control: no-cache
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1067
www.w3.org/TR/xhtmll/DTD/xhtmll一transitional.dtd">www.w3.ora/1999/xhtml* >


评论

暂无
发表评论
 返回顶部 
热度(52)
 关注微信