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)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- Vue 获取元素样式 元素高度
看到这个问题我第一时间想的竟然是JS 不知道你是怎么想的 不过昨天有一个小哥哥 问我一个Vue的 哈哈哈 get了 我当时问他为什么不用JS获取 他说 这个性能更高 那我们来看看这个高性能的获取元素高 ...
- Devexpress使用之:GridControl控件
Devexpress使用之:GridControl控件 Devexpress系列控件功能很强大,使用起来也不太容易,我也是边摸索边使用,如果有时间我会把常用控件的使用方法整理出来的. using Sy ...
- java之servlet学习基础(一)
这一阵子在学java三大框架.却在学习过程中发现前面的知识已经忘记了.所以决定写一篇博客来总结回顾之前的学习. 1.Servlet是什么? servlet是一个运行在服务器端的小应用程序.通过HTTP ...
- PPS--在download DN出现的问题注意:
1,DN的下载条件:(没有删除没有下载) PPSL=’N’(PPSL有两个值,N时是指这个DN还没有下载) DEL_FLAG<>’Y’(DEL_FLAG有两个值,Y时说明已经删除,不会下载 ...
- 能量模型与softmax和RBM以及正态分布的关联
上面一篇文章中探讨了玻尔兹曼分布的起源: 在不清楚目标的真实分布,也不知道样本分布的时候,假设任意输入与输出组合都是同样可能发生的,这样是最公平,最无偏的先验. 因为无法直接统计出给定任意一种输入x, ...
- ORB-SLAM2的安装和运行流程
一.ORB-SLAM2安装 1.在https://github.com/raulmur/ORB_SLAM2上git clone到当前文件夹内,若想下载到指定文件夹内,就需要cd进入指定文件内,然后再g ...
- Swift 加载 xib 崩溃问题
新版本用 Swift开发 遇到的坑 解决方法
- 无法获得锁 /var/lib/dpkg/lock - open
关于 apt-get update 更新的时候出现 无法获得锁 /var/lib/dpkg/lock - open 解决 直接删除这个锁文件即可: sudo rm /var/lib/dpkg/lock ...
- (PMP)第5章-----项目范围管理
产品范围:所具有的特征和功能 项目范围:必须完成的工作. 5.1 规划范围管理 输入 工具与技术 输出 1.项目章程 2.项目管理计划 (质量管理计划, 项目生命周期描述, 开发方法) 3.事业环境因 ...
- spring深入学习(三)-----spring容器内幕
之前都是说了怎么配置bean以及用法之类的,这篇博文来介绍下spring容器内幕. 内部容器工作机制 Spring中AbstractApplicationContext抽象类的refresh()方法是 ...