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

本文共 [229] 位读者顶过

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* >


评论

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