【渗透课程】第三篇-体验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 ...
随机推荐
- 在Docker Hub上查找可用的Image映像
任何人都可以创建Docker Image映像,你可以浏览Docker Hub来查找这些Image映像. 定位Whalesay 映像 打开你的浏览器,浏览Docker Hub: Docker Hub包含 ...
- 深入理解Java内部类
内部类就是定义在一个类中的另外一个类,是一种从属关系.在没有实际了解内部类之前,我始终困惑,为什么要在一个类中定义另外一个类,这不是增加代码结构复杂度么?现在才大致能知道这种设计的优势是大于 ...
- Android - Fragment(二)加载Fragment
Fragment加载方法 加载方法有两种,在xml文件中注册,或者是在Java代码中加载. xml中注册 例如在fragment_demo.xml中定义 <?xml version=" ...
- Struts2入门项目开发小步骤
Step1: Struts2的获取和添加到项目中: 在官方网站:http://struts.apache.org 获取Struts的其中一个版本. 在开发项目之前,需要添加struts2的类库支持,也 ...
- NLP —— 图模型(三)pLSA(Probabilistic latent semantic analysis,概率隐性语义分析)模型
LSA(Latent semantic analysis,隐性语义分析).pLSA(Probabilistic latent semantic analysis,概率隐性语义分析)和 LDA(Late ...
- (转)Linux下查看文件和文件夹大小 删除日志
场景:在sts中执行自动部署时候maven提示No space left on device错误,后来经检查发现是磁盘空间满了,用下面的方法分析发现tomcat下面的logs目录占用了很大的空间,删除 ...
- Linux安装搜狗输入法教程
最近开始学习linux 在安装输入法中遇到的一些问题,最终成功安装,也得益于网络上的前辈写的文章,现在将全部安装步骤以及遇到的一些问题总结如下: 基本上分三步走 1,添加fcitx的键盘输入法系统 ...
- HDU 2094解题报告
刚学完set,准备做个简单题目实践一下.结果半天都WA. 下面指出WA原因. 方法是这样的,把所有输的赢的都插入a1,输的插入a2: 那么如果最后name1-name2=1,则说明只有他没输过,能判断 ...
- Java 加载、链接、初始化
JVM 动态地加载.连接.初始化类或接口(在本文之后的篇幅中,我将使用"类"来表示"类和接口").这里我先贴上 Java 虚拟机规范的原文: Loading i ...
- Obj-C 实现 QFileDialog函数
Obj-C 实现 QFileDialog函数(getOpenFileName/getOpenFileNames/getExistingDirectory/getSaveFileName) 1.getO ...