小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)
补充概念
AJAX(异步javascript和XML)
Asynchronous javascript and xml
是一个概念,而非一种新的编程语言,是一组现有技术的组合
通过客户端脚本动态更新页面部分内容,而非整个页面
降低带宽使用,提高速度
提升用户体验
后台异步访问
AJAX组件
Javascript:AJAX的核心组件,使用XMLHTTPRequest对象接口向服务器发起请求,接受并处理服务器响应数据
Dynamic HTML (DHTML)
早于AJAX出现,通过javascript、CSS等在客户端修改HTML页面element,缺点是完全依赖客户端代码修改页面,与服务器的交互由JavaScript applets完成,AJAX的XHR弥补了他的缺点(如:注册用户)
Document Object Model (DOM)
处理html、xml文档对象的框架,DHTML是一个浏览器,DOM作为其一个 实现的接口,定义和管理每个页面元素obj的Properties、method、event
基于AJAX的WEB应用工作流程
XMLHTTPRequest API创建对象xmlhttp进行访问
返回内容:Xml、json、html、文本、图片
多个异步请求独立通信,互不依赖
AJAX框架
JQuery
Dojo Toolkit
Google web toolkit (GWT)
Microsoft AJAX library
目前没有通用的AJAX安全最佳实践,其攻击面不为大多数人所知
AJAX的安全问题
多种技术混合,增加了攻击面,每个参数都可能形成独立的攻击过程
AJAX引擎是个全功能的脚本解释器,访问恶意站点可能后果严重,虽然浏览器有沙箱和SOP,但可被绕过
服务器、客户端代码结合使用产生混乱,服务器访问控制不当,将信息泄露
暴漏应用程序逻辑
AJAX对渗透测试的挑战【不可忽视】
异步请求数量多且隐蔽
触发AJAX请求的条件无规律
手动和截断代理爬网可能产生大量遗漏
AJAX爬网工具
ZAP

客户端代码审计
源码 【不一定高效】
Firebug

一种面向服务的架构 (service oriented architecture),便于不同系统集成共享数据和功能
尤其适合不想暴漏数据模型和程序逻辑而访问数据的场景
无页面,只是一个web接口,通过http协议
两种类型的WEB Service
Simple object access protocol (SOAP)
传统的WEB Service开发方法,xml是唯一的数据交换格式
要求安全性的应用更多采用
RESTful (Representational State Transfer architecture—REST)
目前更多被采用的轻量web service,JSON是首选数据交换格式
- 使用API key或session token实现和跟踪身份认证
- 身份认证由服务器完成,而非客户端(因为客户端源码可查看)
- API key、用户名、Session token永远不要通过URL发送
- RESTful默认不提供任何安全机制,需要使用SSL/TLS保护传输数据安全
- SOAP提供强于HTTPS的WS-security机制
- 使用OAuth或HMAC进行身份验证,HMAC身份认证使用C/S共享的密钥加密API key
- RESTful应只允许身份认证用户使用PUT、DELETE方法
- 使用随机token防止CSRF攻击
- 对用户提交参数过滤,建议部署基于严格白名单的方法
- 报错信息消毒
- 直接对象引用应严格身份验证(电商公司以产品ID作为主索引)
小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)的更多相关文章
- 第十二章 WEB渗透
Web技术发展 • 静态WEB• 动态WEB • 应用程序 • 数据库 • 每个人看到的内容不同 • 根据用户输入返回不同结果 WEB攻击面• Network• OS• WEB Server• App ...
- 小白日记28:kali渗透测试之Web渗透-扫描工具-Nikto
扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少 ...
- 小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish
WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探 ...
- 小白日记31:kali渗透测试之Web渗透-扫描工具-Arachni
扫描工具-Arachni Kali中集成旧的arachni的阉割版,所以需要重新安装[在某些方面有其独特性,但不算很强大,有命令行和web两种使用方式][匿名者推荐] apt-get update h ...
- 小白日记27:kali渗透测试之Web渗透-Http协议基础,WEB
Http协议基础 Web技术发展[http://www.cnblogs.com/ProgrammerGE/articles/1824657.html] 静态WEB[网页] 动态WEB 属于一种应用程序 ...
- 小白日记18:kali渗透测试之缓冲区溢出实例(二)--Linux,穿越火线1.9.0
Linux系统下穿越火线-缓冲区溢出 原理:crossfire 1.9.0 版本接受入站 socket 连接时存在缓冲区溢出漏洞. 工具: 调试工具:edb: ###python在漏洞溢出方面的渗透测 ...
- 小白日记6:kali渗透测试之被动信息收集(五)-Recon-ng
Recon-ng Recon-NG是由python编写的一个开源的Web侦查(信息收集)框架.Recon-ng框架是一个全特性的工具,使用它可以自动的收集信息和网络侦查.其命令格式与Metasploi ...
- 小白日记17:kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail
缓冲区溢出实例 缓冲区溢出原理:http://www.cnblogs.com/fanzhidongyzby/archive/2013/08/10/3250405.html 空间存储了用户程序的函数栈帧 ...
- 小白日记7:kali渗透测试之主动信息收集-发现(一)--二层发现:arping/shell脚本,Netdiscover,scapy
主动信息收集 被动信息收集可能不准确,可以用主动信息收集验证 特点:直接与目标系统交互通信,无法避免留下访问痕迹 解决方法:1.使用受控的第三方电脑进行探测,使用代理 (做好被封杀的准备) 2 ...
随机推荐
- Android中快速实现自定义字体!
前言:我们都知道,Android中默认的字体是黑体,而大多数app也都是使用的这种字体,但我们发现,大多数app中,个别地方字体非常好看,例如app的标题栏,菜单栏等地方,那他们是怎么做到的呢?有两种 ...
- u-boot分析(五)----I/D cache失效|关闭MMU和cache|关闭看门狗
u-boot分析(五) 上篇博文我们按照210的启动流程,对u-boot启动中的设置异常向量表,设置SVC模式进行了分析,今天我们继续按照u-boot的启动流程对以下内容进行分析. 今天我们会用到的文 ...
- 阻塞IO, 非阻塞IO, 同步IO,异步IO
阻塞IO, 非阻塞IO, 同步IO,异步IO 介绍 先说明几个概念 用户空间与内核空间 为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操心系统将虚拟空间(内存)划分为两部分,一部分 ...
- Servlet是线程安全的吗?
Servlet不是线程安全的. 要解释为什么Servlet为什么不是线程安全的,需要了解Servlet容器(即Tomcat)使如何响应HTTP请求的. 当Tomcat接收到Client的HTTP请求时 ...
- April 11 2017 Week 15 Tuesday
Love is hard to get into, but harder to get out of. 相爱不易,相忘更难. The past are hurt, but I think we can ...
- Excel公式巧用-将新值替换旧值,新值为空保留原值
使用excel时候遇到 将新值替换旧值,新值为空保留原值的问题,简单使用Excel的函数即可以实现.
- 目的檔格式 (ELF)
http://ccckmit.wikidot.com/lk:elf 目的檔ELF 格式(Executable and Linking Format) 是 UNIX/Linux 系統中較先進的目的檔格式 ...
- 【BZOJ5212】[ZJOI2018] 历史(LCT大黑题)
点此看题面 大致题意: 给定一棵树每个节点\(Access\)的次数,求最大虚实链切换次数,带修改. 什么是\(Access\)? 推荐你先去学一学\(LCT\)吧. 初始化(不带修改的做法) 首先考 ...
- 2017.11.29 JSP+Servlet 中功能验证码及验证的实现
源代码如下: validate.jsp <%@ page language="java" import="java.util.*" pageEncodin ...
- .net 开源的网站
https://www.zhihu.com/question/24408855 https://www.zhihu.com/question/19840134 这两个知乎的答案 介绍部分经典的.net ...