Kali学习笔记23:Web渗透简介
文章的格式也许不是很好看,也没有什么合理的顺序
完全是想到什么写一些什么,但各个方面都涵盖到了
能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道
我这里先说几句:
其实从缓冲区溢出到Web渗透之间还有很多的内容
但是Web渗透实在有学习的必要,我打算先学习这些内容
Web渗透:
早期Web渗透其实是攻击Web服务器,比如IIS或者是Tomcat
C/S架构时期:程序员很累,需要兼顾两方面的问题
后来程序猿们觉得这种方式复杂,后来就有了B/S架构:
只需要一个浏览器即可,而程序猿只需要遵循浏览器的规则进行编码即可
服务器会根据用户使用浏览器提交的数据来存储或者返回对应的信息
张三只够看到的页面和信息,李四未必就可以看到
服务器端通常包括:Web服务器(Tomcat),应用程序服务器,数据库
应用程序是什么?是可以交互的,我给它一个值,它会做出相应的反应
因此,至少这里,就存在着漏洞
其实Web攻击技术共有几百种,而我会介绍一部分典型的,以及一些基本工具的使用
而我们如果想做Web渗透,有很多个大的方面可以考虑:
浏览器、网络、服务器操作系统、Web服务器类型、应用程序服务器、应用程序代码、数据库
就拿Java来说,WebServer采用Tomcat,应用程序服务器(SpringBoot、Struts2)数据库(MySQL、Sqlite)
程序猿也是人,总会有漏洞,应用程序代码也总会存在漏洞
前端来说:浏览器本身的安全机制以及很完善,基本找不到漏洞
于是,对我们来说,现在能够考虑渗透的方面主要就是:应用程序方面,数据库方面
恶意的指令传递给应用程序或者传递到数据库从而造成漏洞利用
这么来说,想做Web渗透,那么就需要了解HTTP协议:
HTTP协议:
应用层明文协议,在网络中如果采用嗅探或代理截断技术即可获取所有的信息
有些不懂安全的人会认为:HTTPS会变得很安全,其实不然,HTTPS只能提升传输层的安全性,并不能保证安全
在后面的一些文章我会详细介绍HTTPS攻击,总之不要过度相信HTTPS
下面继续看一看HTTP协议的特点:
无状态:类似于UDP协议,服务器发送数据包过去,接受与否与它无关
从协议上来看,HTTP协议每一次客户端和服务器端的通信都是独立的过程
有人会疑问:那么我登陆上账号做相关的操作,感觉似乎每一步并不是独立的?
其实不然,这是由于服务器端的程序猿的代码造成的错觉(Cookie)
而客户端和服务器端的会话是如何实现的?Cookie技术
形象地来看:Cookie类似与学校的校园卡,学生没有校园卡是无法进入学校的
服务器端会根据Cookie地不同而返回不同的信息
而如果不使用Cookie呢?如果客户端要访问服务器端的页面,每一次都需要输入账户名密码,用户体验极差
有人会把Cookie和Session混淆:
Cookie本身其实就是SessionID,客户端拿到的是服务器端的Session的SessionID,保存下来作为Cookie
Cookie既然功能强大:凡事有利有弊,正是出现了Cookie才会出现更多的漏洞
比如:张三篡改自己的Cookie变成李四的Cookie,那么,张三就可以操作李四的一些机密信息
客户端和服务器之间一个请求一个响应为一个Cycle:
请求和相应都是由Header和Body组成
接下来看看Web渗透中需要注意的一些头信息:
Set-cookie:服务器端发给客户端的SessionID,如果被窃取,就可以做很多事情
Content-Length:响应Body部分的字节长度,比如我暴力破解用户名密码,可以根据返回的这个参数的不同来判断是否成功
Location:重定向用户到另一个页面,可识别身份认证后允许访问的页面
Cookie:客户端回给服务器证明用户状态的信息(头:值成对出现)
Referrer:发起新请求之前用户位于哪个页面,服务器基于此头的安全限制很容易被修改绕过
下面看看响应的状态码:1-5开头表示五大类
100系列:服务器响应信息,没有实际意义,表示还有后续处理,极少出现
200系列:请求被服务器成功接收并处理后返回的结果
300系列:重定向到某一个页面,配合Location头
400系列:客户端请求错误
401:身份认证错误
403:拒绝访问
404:这个很常见,请求目标不存在
500系列:服务器内部错误
介绍就到这里了:
接下来说说我接下来的实验环境:
Metasploitable:集成了各种漏洞的靶机
演示:
启动靶机

默认用户名和密码就是msfadmin
ifconfig查到IP地址是192.168.163.129
然后用Kali的浏览器访问即可:
我在接下来的环境中要使用的就是DVWA

就是这个,其实相当于是一个实际的网站:

使用默认用户admin和默认密码password进入:
对于新手这里设置成Low(低级安全级别),这样更容易找出漏洞

如果要渗透目标网站,我建议先用一个工具httrack:
作用:完全复制一个网站
为什么要用它呢?防止与目标过多的交互,以免被发现
具体使用方法:这里有向导,会英文的人就会用

这一篇的内容偏少,主要是介绍和环境搭建,具体的扫描工具以及渗透方法后边的文章介绍
Kali学习笔记23:Web渗透简介的更多相关文章
- 【web开发学习笔记】Structs2 Result学习笔记(一)简介
Structs2 Result学习笔记(一)简介 问题一 <struts> <constant name="struts.devMode" value=" ...
- go语言,golang学习笔记2 web框架选择
go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...
- Linux学习笔记之 Btrfs文件系统简介及使用
Btrfs 也有一个重要的缺点,当 BTree 中某个节点出现错误时,文件系统将失去该节点之下的所有的文件信息.而 ext2/3 却避免了这种被称为”错误扩散”的问题. Btrfs相关介绍: Btrf ...
- Ext.Net学习笔记23:Ext.Net TabPanel用法详解
Ext.Net学习笔记23:Ext.Net TabPanel用法详解 上面的图片中给出了TabPanel的一个效果图,我们来看一下代码: <ext:TabPanel runat="se ...
- kali linux 2.0 web 渗透测试 电子书
原创 2017-05-31 玄魂工作室 玄魂工作室 打起精神,重新开启订阅号的原创文章写作工作,但是需要点时间,请耐心等待. 求资料的同学,没有及时回复的,请再次留言,我会尽快处理.今天分享两本电子书 ...
- Spring实战第六章学习笔记————渲染Web视图
Spring实战第六章学习笔记----渲染Web视图 理解视图解析 在之前所编写的控制器方法都没有直接产生浏览器所需的HTML.这些方法只是将一些数据传入到模型中然后再将模型传递给一个用来渲染的视图. ...
- [原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记04:Servlet 简介及第一个Servlet程序(配置注册servlet,生命周期)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记23:MVC案例完整实践(part 4)---模糊查询的设计与实现
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- 微信小程序发送ajax
微信小程序通过 wx.request发送ajax请求 1. GET wx.request({ url: app.globalData.pubSiteUrl + 'user-information/ge ...
- 如何让 curl 命令通过代理访问
如何让 curl 命令通过代理访问 Linux.中国 - 开源中文社区 2018-01-18 8909 阅读 技术 我的系统管理员给我提供了如下代理信息: IP: 202.54.1.1 Port: 3 ...
- UVa156
#include <bits/stdc++.h> using namespace std; map<string,int> cnt; vector<string> ...
- EasyPR源码剖析(1):概述
EasyPR(Easy to do Plate Recognition)是本人在opencv学习过程中接触的一个开源的中文车牌识别系统,项目Git地址为https://github.com/liuru ...
- Git push 提交代码到远程global user.name错误解决办法
问题:安装了Git-1.9.4-preview和TortoiseGit等工具后,Git服务器开通了账号和密码并配置了邮箱.克隆了服务器代码到本地,按需求进行代码开发.提交本地代码到服务器时出现错误.具 ...
- vue-cli 第二章 (常见问题修正)
一.编译打包多出 *.map 文件处理 当执行 npm run build 后根目录下会编译出一个 dist 的文件夹,如下: 其中 css 和 js 文件夹下会多出一些 *.map 的 ...
- Scikit-learn 安装
Scikit-Learn 3 pip 安装 如果安装了Python,没有安装pip,使用Windows + R,输入cmd,回车打开命令行,输入 python -m pip install -U pi ...
- C# byte[]数组和string的互相转化 (四种方法)
C# byte[]数组和string的互相转化 (四种方法) 第一种 [csharp] view plain copy string str = System.Text.Encoding.UTF8.G ...
- H5新特性——--第三方绘图工具库 echarts(canvas)---SVG绘图
今天学习的内容 3.1:h5新特性---第三方绘图工具库 echarts(canvas) 百度 echarts;d3;two.js;.... 3.2:h5新特性---SVG绘图 3.2:h5新特性-- ...
- thinkphp 5 使用oss
简单的tp5中上传到 图片到oss我本地开发环境为:WAMP;php版本:5.6.19TP版本:5.1.13 1.使用composer 安装 composer require aliyuncs/oss ...