pikachu靶场&XSS(二)
1. 搭建环境
靶场:https://github.com/zhuifengshaonianhanlu/pikachu
php5.4.45版本:https://www.xp.cn/download.html
Apache2.4.39版本
搭建时开始选择 php5.2 版本,运行时报错,PHP Parse error: syntax error, unexpected ‘[’ in /usercode/file.php on line 4,切换到php 5.4 及以上版本就可以了
将靶场文件放在网站目录下,修改配置文件,要修改数据库账户密码
<?php
//全局session_start
session_start();
//全局居设置时区
date_default_timezone_set('Asia/Shanghai');
//全局设置默认字符
header('Content-type:text/html;charset=utf-8');
//定义数据库连接参数
define('DBHOST', '127.0.0.1');//将localhost或者127.0.0.1修改为数据库服务器的地址
define('DBUSER', 'root');//将root修改为连接mysql的用户名
define('DBPW', 'root');//将root修改为连接mysql的密码,如果改了还是连接不上,请先手动连接下你的数据库,确保数据库服务没问题在说!
define('DBNAME', 'pikachu');//自定义,建议不修改
define('DBPORT', '3306');//将3306修改为mysql的连接端口,默认tcp3306
?>
- 搭建完成后,箭头所指位置会有红色字体,点击设置就好(我已经设置过了)
2. 漏洞笔记
2.1 设置代理(火狐+ burp suite)
- ip和端口要一致
- ip端口一致后还要导入一个burp的证书,不然可能会报错,用火狐浏览器访问http://burp,下载CA证书
- 证书下载过后,进火狐浏览器设置,导入证书
2.2 暴力破解
Burte Force(暴力破解)概述
暴力破解是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。
理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。
这里的认证安全策略, 包括:
- 是否要求用户设置复杂的密码;
- 是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
- 是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
- 是否采用了双因素认证;
- …
基于表单的暴力破解
- 抓个登陆包,放到burp suite的intrude模块内,准备暴力破解
- 密码字典的设置与第一个相同,设置完毕后点击右上角的Start attack开始爆破
验证码绕过-on server
- 抓包看确实是服务端验证
- 下面看验证码是或存在过期时间长的问题
- 在抓一个新包,验证码正确填写,在burp suite中尝试修改账户密码,不在前端修改
验证码绕过-on client - 由于是是前端验证,右键页面源代码就能看到验证代码
- 由于采取前端验证,抓个数据包,直接爆破就可以
token防爆破 - 话不多说,抓包修改账户重放
* 看下网页源码,发现token就在网页中,刷新页面,重新发包token会出更新
- 思路:选择密码和token两个变量,密码选择字典,token选择当场抓取最新的token(新生成的token隐藏在页面)