【渗透课程】第三篇-体验http协议的应用

之前我们都了解了,访问网页时,客户端与服务端之间的请求与响应数据交互。本篇就浅谈它的应用。
利用HTTP拦截突破前段验证
比方说,我们在某个网页提交某些数据(例如留言、上传、插入xss等),发生错误(例如提示不支持该文件、您提交的内容非法)
如果提交之后,在原网页发生以上错误,而不是网页跳转之后发出提示。那么很可能网站验证方式是前端验证。
什么是前端验证?
就是在客户端发送请求,服务器响应后向客户端传输网页(html)和验证脚本(JavaScript),我们提交内容时候都要经过网站js的验证。
(简单介绍)
而这里的这个js验证就是属于前端验证,也就是客户端验证,它只在客户端作用。
如何突破验证
这里就要用到工具了
推荐工具:burp、fiddler
这些工具有什么用呢,在这里他们的作用就是能拦截和修改http请求,也就是所谓的抓包。
工具拦截突破过程原理:
1,开启http拦截
2,在网页内提交js判断规则内允许提交的内容
3,此时提交的请求已经被工具拦截了,网页属于堵塞状态,而且我们提交的内容已经被js判断为允许了。
4,在工具内修改拦截的内容(请求内容)
5,发送数据包(接触拦截.正常流通)
如何绕过验证
同理,在接受响应时拦截包。并删除js验证用的代码
软件的使用
软件有很多个,小编推荐burp suite是一款很强大的渗透工具。但是由于burp的安装要在JAVA环境,且工具界面内容为英语。而fiddler有汉化版,EXE文件现下现用。小编觉得如果是体验本章的逻辑和应用的话,还是fiddler是个很不错的选择。至于软件的使用,由于时间和本人较懒和条件有限的问题,请参考:http://m.cr173.com/w/15341
其实教程网上很多的,甚至不需要看教程,Fd摸一下就明白了
如果真的需要或者不懂的,可以在下方评论,小编会抽空录个视频。QQ2780217151
PS
说了那么多,我觉得还是不够,别以为你们看懂了就是看懂了。这东西要多接触,多动手,多实践。介于本篇是说明原理,有些读者可能没有练手的地方。小编决定,在短期内收集和编写一些早期的网站程序源码(漏洞多的源码),给大家动手实验。
【渗透课程】第三篇-体验http协议的应用的更多相关文章
- 【渗透课程】第二篇下-HTTP协议的请求与响应深度剖析
[渗透课程]第二篇下-HTTP协议的请求与响应深度剖析 HTTP1.1目前支持以下7种请求方法: 常见的MIME类型如下: 第一个数字有五种可能的取值: 目录 什么是请求方法?什么是请求头? HTTP ...
- 老猿学5G扫盲贴:推荐三篇介绍HTTP2协议相关的文章
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 5G中的服务化接口调用都是基于HTTP2协议的,老 ...
- 【渗透课程】特别篇-主流网站程序Oday大全以及拿shell思路
版权和内容说明: 这篇文章不是本站编写,是从网络上摘抄的,但是经过了本站的改写优化,并将内容,格式规范化. 本篇说明:这篇文章结合了前辈们前几年一路挖掘出来的主流程序漏洞以及思路, 小编写在前面是想让 ...
- 【渗透课程】第二篇上-http请求协议的简单描述
HTTP协议剖析 什么是HTTP协议?如何发起请求?我认为这样讲大家能够理解: 浏览器访问网站也是http请求的一个过程.当你打开浏览器,访问一个URL (协议://服务器IP:端口/路径/文件)的时 ...
- 【渗透课程】第一篇-Web渗透需要接触的语言
---恢复内容开始--- 上一篇我们讲过了,Web渗透的基本原理,在原理中我们也提到了Web应用程序(脚本语言),本章就谈到了Web渗透要涉及的语言. 涉及语言: 1.html:是前段语言的其中一个, ...
- 网络编程[第三篇]基于tcp协议实现远程连接
需要用到subprogress模块来远程控制cmd控制台程序来得到控制台的输出信息 一.服务端 —— 控制输出信息 import socket import subprocess #socket实例化 ...
- ASP.NET自定义控件组件开发 第一章 第三篇
原文:ASP.NET自定义控件组件开发 第一章 第三篇 第三篇:第一章的完结篇 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待 ...
- Powershell渗透测试系列–进阶篇
原文来自:https://bbs.ichunqiu.com/thread-41561-1-1.html i春秋作家:anyedt 0×00 引言 经过基础篇的学习我们已经对powershell有了一个 ...
- EnjoyingSoft之Mule ESB开发教程第三篇:Mule message structure - Mule message结构
目录 1. 探索Mule Message结构 2. Mule Message的Payload 3. Mule Message的Property 4. Mule Message的Attachment 5 ...
随机推荐
- vue 实现 tomato timer(蕃茄钟)
近期在学习[时间管理]方面的课程,其中有一期讲了蕃茄工作法,发现是个好多东西.蕃茄工作法核心思想就是:工作25分钟,休息5分钟.如果您好了解更多可以自行度娘. 在加上本人是一个程序猿,就想用程序的方式 ...
- guava缓存底层实现
摘要 guava的缓存相信很多人都有用到, Cache<String, String> cache = CacheBuilder.newBuilder() .expireAfterWrit ...
- 【CSS】less 学习小结
1. less 使用 less 可直接使用浏览器解析 or 使用node 的grunt/gulp 解析成传统css . 推荐开发环境直接使用less 文件调试, 生产环境部署解析好的css 2. l ...
- 教你上传本地代码到github
最近想起学Git,并且注册了Github. 将新创建的本地代码上传到github上,这里简单的记录一下,我喜欢使用命令行,这里全用命令行来实现,不了解Git命令的可以去了解下. 第一步:建立git仓库 ...
- 30. leetcode 121. Best Time to Buy and Sell Stock
121. Best Time to Buy and Sell Stock Say you have an array for which the ith element is the price of ...
- IMPEX
1.Impex是基于java Model的一种面向对象的数据操作手段,因此写impex代码前需要理清java Model之间的依赖关系. 2.基本语法:mode type[modifier=value ...
- HttpStatus各种状态
JS.ns("JS.HTTPStatus","JS.XMLHttpRequest"); /** * FC 2616 HTTP1.1规范的HTTP Status状 ...
- Head First 设计模式 第4章工厂模式
第4章 工厂模式 在介绍工厂模式之前,先让我们来看一个例子. 这里有一个Pizza类,用来生产pizza,并返回对象,具体代码如下: package com.ek.factory.simple; im ...
- 让你能看懂的 JavaScript 闭包
让你能看懂的 JavaScript 闭包 没有废话,直入主题,先看一段代码: var counter = (function() { var x = 1; return function() { re ...
- AKOJ -- 1529 -- 寻找最大数
1529: 寻找最大数 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 107 Solved: 53 上一题SubmitStatus标签打分编辑题目信 ...