Pikachu靶场之暴力破解、XSS、CSRF漏洞

环境

虚拟机192.168.48.130

docker+centos8

安装

这里把启动指令写成脚本文件了,方便启动

启动完成后,访问http://your-ip:port,点击初始化安装后按照提示操作即可

docker search pikachu
docker pull area39/pikachu
docker images

vi pikachu.sh
	docker run -dt --name pikachu -p 80:80 --rm area39/pikachu

chmod +x pikachu.sh
./pikachu

docker ps
docker  //进入镜像
docker ps  //查看container id
docker exec -it container id /bin/bash  //进入docker容器
mysql -u root -p  pikachu  //数据库密码为空密码

暴力破解

基于表单的暴力破解

随便试个密码burp抓包,右键发送到intruder
在这里插入图片描述

设置攻击类型和暴破的对象

假如用户名和密码一个都不知道的话,可以用cluster bomb

暴破对象就选username和password的值
在这里插入图片描述

设置字典和payload,1和2都需要设置字典

这里字典随便输几个就行
在这里插入图片描述

开始暴破,通过返回的length长度来判断成功的值为admin/123456
在这里插入图片描述

验证码绕过(on server)

burp抓包,右键发送到repeater

点击send,然后可以看到response里显示用户名或密码错误

再修改下密码然后发送,还是一样的提示用户名和密码错误

把验证码改一下后发送,会提示验证码输入错误

可以判断只要验证码不更新就可以一直进行暴破尝试
在这里插入图片描述
在这里插入图片描述

还是跟之前一样的暴破方法即可
在这里插入图片描述

验证码绕过(on client)

跟上面一样,先发到repeater测试一下

修改下验证码,发现随便输个验证码都是可以的
在这里插入图片描述
在这里插入图片描述

token防暴破

将password和token设为变量
在这里插入图片描述

设置下burp,intruder-options-grep extract

搜索下token,找到对应的值,双击自动填充表达式
在这里插入图片描述

在options中设置线程为1
在这里插入图片描述

token的字典选成recursive grep,将抓包里token的值粘贴到下面

设置完成后start attack
在这里插入图片描述

暴破完成
在这里插入图片描述

XSS

反射型xss(get)

先试提交几个字符试下,没有对特殊符号做限制
在这里插入图片描述

构造xss语句

输一半输不上了,检查下元素发现有长度限制,改下maxlength的值就可以了

<script>alert('xss')</script>

在这里插入图片描述
在这里插入图片描述

反射型xss(post)

随便输入一些特殊字符测试下,发现括号跟斜杠被过滤掉了
在这里插入图片描述

通过闭合p标签来实现弹框

</p><script>alert('xss')</script>

在这里插入图片描述

存储型xss

先用xss语句在留言板提交,留言列表中并没有显示我们的代码,但是检查元素中可以看到xss语句插入到代码中

<script>alert('xss')</script>

在这里插入图片描述

在这之后每提交一次留言板都会出现弹框
在这里插入图片描述

DOM型xss

输入内容点击click me 生成了超链接

点击what do you see跳转
在这里插入图片描述
在这里插入图片描述

这里要用onclick参数,完成a标签闭合,点击what do you see就可以弹窗了

6'οnclick=alert('xss')>

在这里插入图片描述

DOM型xss-x

这个跟上面的策略差不多,直接试下上面的payload

6'οnclick=alert('xss')>

在这里插入图片描述

xss之盲打

这个得需要在后台才能看到输入的内容

提交后根据提示访问后台地址 http://your-ip/vul/xss/xssblind/admin.php
在这里插入图片描述

提交后,登录后台出现弹框
在这里插入图片描述

xss之过滤

测试一下发现很多关键词都被过滤
在这里插入图片描述

可以使用大小写加输出数字来绕过

<Script>alert(666)</Script>

在这里插入图片描述

xss之htmlspecialchars

发现输入的内容会变成超链接
在这里插入图片描述

跟之前那个差不多,多加个单引号进行闭合

6'οnclick='alert(666)'

在这里插入图片描述

xss之href输出

闭合了几次发现闭不上,要用javascript伪协议绕过

javascript:alert(666)

在这里插入图片描述

xss之js输出

发现输入的内容跑到js代码里去了

闭合下script标签
在这里插入图片描述
在这里插入图片描述

一点点试下去闭合就ok了

</script><script>alert('messi')</script>

在这里插入图片描述

CSRF

CSRF(get)

根据提示登录
在这里插入图片描述
在这里插入图片描述

点击修改个人信息,在提交的时候抓包
在这里插入图片描述

可以看到用户信息的格式,然后修改要更改的用户参数

GET /vul/csrf/csrfget/csrf_get_edit.php?sex=dog&phonenum=10010&add=666&email=67890%40qq.com&submit=submit HTTP/1.1

将更改后的用户参数加到url中

http://192.168.48.130/vul/csrf/csrfget/csrf_get_edit.php?sex=dog&phonenum=10010&add=666&email=67890%40qq.com&submit=submit

可以换个浏览器来访问,访问后可以看到个人信息已被更改
在这里插入图片描述

CSRF(post)

换了个用户登录,同样修改信息抓包看下

虽然也有用户信息,但是由于是post请求没法通过url来伪造请
在这里插入图片描述

需要自己写个html文件然后通过post方式提交

修改下路径和要修改的信息

<html>
<head>
	<script>
	window.onload = function() {
    	document.getElementById("postsubmit").click();
	}
	</script>
</head>
<body>
	<form method="post" action="http://192.168.48.130/vul/csrf/csrfpost/csrf_post_edit.php">
   	 	<input id="sex" type="text" name="sex" value="pig" />
   	 	<input id="phonenum" type="text" name="phonenum" value="1008611" />
        <input id="add" type="text" name="add" value="shanghai" />
   	 	<input id="email" type="text" name="email" value="123456@qq.com" />
    	<input id="postsubmit" type="submit" name="submit" value="submit" />
	</form>
</body>
</html

修改好代码后,将html文件拖入到浏览器中即可,修改成功
在这里插入图片描述

CSRF Token

每次请求都会加一个随机的token并进行验证

试了试做不出来,查了下好像没什么办法
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值