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)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- 7I - 数塔
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目 ...
- linux下编译protobuf(可以编译成pb.go)
编译前需要安装gtest $ cd googletest $ cmake -DBUILD_SHARED_LIBS=ON . $ make $ sudo cp -a include/gtest /hom ...
- WIN10 安装 ReportBuilder3.msi 提示需要 .NET Framework 4.5
win+r键调出运行窗口输入regedit打开注册表,找到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework Setup/NDP/v4/Client ...
- Java 中12个原子操作类
从JDK1.5 开始提供了 java.util.concurrent.atomic 包,该包提供了一种用法简单.性能高效.线程安全的更新一个变量的方法 原子更新基本类型类 AtomicBoolean: ...
- Java匿名内部类访问外部
匿名内部类访问外部局部变量必须是final修饰的,Java 1.8 会默认为其加上final 例子如下: public void send(String topicName, T obj) { Str ...
- xbee PRO S2C的多固件烧写
XBee and XBee-PRO ZB 嵌入式射频模块是与ZigBee/IEEE 802.15.4兼容的解决方案,可以满足低成本低功耗无线传感网络的特殊需求.该模块易于使用,极低的功耗,以及提供设备 ...
- UWP作业(一)XAML Controls Gallery
作为一个编程能力不是很好的uwp初学者,在控件库里看到种类繁多的选项时,需要查资料,最后决定出几种性能各方面可能不是那么出色的控件,内心也是非常纠结的.但当我把自己当成一个用户时,通过分析自己的需求, ...
- linux的常用指令和配置文件
一. 常用的指令 mkdir -p 创建文件夹 parents递归创建 ls -alh 查看当前目录内容 cd 切换工作目录 pwd 打印当前工作目录 touch 文件名 创建文件 echo 字符 ...
- ABAP 常见系统表
TRDIRT Program nameTFTIT Function module nameDD02T Table name
- 缓存为王-varnish
2.varnish的软件清单 [root@centos69 ~]# rpm -ql varnish /etc/logrotate.d/varnish /etc/rc.d/init.d/varnish ...