嚣张的小帅分享自己操作的流程给大家,不吝赐教!点赞你要亮,关注干得漂亮!
一 环境准备
1 搭建环境
- Windows10及以上版本
- phpstudy(小皮)
- pikachu(皮卡丘靶场)
- JDK(java环境变量)
- burp(抓包工具)
2 下载链接
所有需要的资料都在下方本人的链接直接免费提取!
链接:链接:https://pan.baidu.com/s/1pyYt451qWZAvEaBMcaS7HA
提取码:pkqu
二 安装教程
phpstudy 配置
1.解压phpStudy_64.zip并点击phpstudy_x64_8.1.1.3.exe进行安装
2.自定义安装(安装注意事项:安装不要选择在C盘,安装的目录不要是中文且不能有空格)
3.安装完成后将Windows系统中的MySQL服务关闭(使用phpstudy内置的MySQL不影响之前使用的MySQL)
方法一:搜索服务,将Windows上的MySQL服务关闭或禁用
恢复:将启动类型换回自动或者手动自启即可。
方法二:cmd打开命令提示符(管理员模式)
cd 进入所在MySQL的文件夹的bin目录下 输入:net stop mysql(将Windows下正在进行的MySQL服务关闭)
输入 :sc query mysql(查看Windows下的MySQL服务是否存在)
如果存在,输入:sc delete mysql (删除Windows下的MySQL服务)
再次输入:sc query mysql ,如显示以下结果则删除成功
恢复:输入: mysqld --install
当按下回车键后,出现这句语句”Service successfully installed.“,则表示你Windows下的MySQL服务器重新创建成功了。
4.打开phpstudy,启动Apache和MySQL
5.浏览器访问自己的ip地址(127.0.0.1)
6.MySQL环境变量配置
打开内置MySQL的文件,复制路径
右击此电脑进入属性,点击高级系统设置,进行环境变量配置
编辑系统变量path,进入后新建,将刚刚复制路径粘贴进去,然后一直点击确定关闭
打开cmd 输入:mysql -uroot -p(密码默认为root)验证是否配置完成
皮卡丘靶场配置
1.解压缩并修改文件名称为 pikachu 后放入如下文件夹
2. 修改配置文件(mysql 用户名:root 密码:root,保存)
3. 浏览器访问皮卡丘靶场(http://127.0.0.1/pikachu/)
4.进行初始化安装
java环境变量配置
拥有idea的同学一般都进行了配置,可以cmd命令窗口输入:java -version 检测是否配置成功
此配置不是重点,如需配置请看链接:
JAVA中JDK环境变量配置_xiao_suan_cai的博客-CSDN博客_java配置jdk环境变量
burp安装(2021.8版本)
1.从我分享的资料下载压缩包并解压
1、打开Burploader2021_x.jar文件,点击run;
2、自动跳转打开至burpsuite_pro_v2021.8.jar文件;
如果没有自动跳转请复制loader command,然后进入放有burpsuite的jar文件的文件夹,点击地址栏,在地址栏那里输入cmd跳转到明了提示符,再输入刚刚复制的loader command。
3.复制注册信息License至burpsuite_pro_v2021.8.jar,点击next
4.点击Manual activation
5.copy request 至 Activation Request;复制Activation Response至Paste response;点击next
6.然后一直点击next即可成功打开;后续使用可以直接点击run就可以打开
三 SQL注入攻击(以数字型注入post为例)
1.进入burp 先将Proxy中的intercept关闭,使其不进行拦截,让数据通过监听的端口
2. 点击Open Browser使用内置浏览器抓包(输入http://127.0.0.1/pikachu/)
3.注入点探测:在数字型注入中只看到一个下拉框,里面包含了从1到6的数字,这个地方无法进行输入,那么将注意力转向到报文中。
4.将proxy中的intercept的拦截开启,任意选择一个数字进行查询,这里选择的是1,然后在报文中进行查找,发现了一个id=1,这里就是注入点。
5.进行注入:在注入点中使用order by进行字段数的测试(点击Forward进行注入攻击)
order by2:
order by3:
结论:发现order by 2正常返回,order by 3报错,说明第三个列不存在,那么查询语句只用了两个列名。
6.进行注入:尝试让它将用户表所有人的信息查询出来,在后面加上 or 1=1,这样判断条件变成了永真,返回所有查询结果。(点击Forward进行注入攻击)
7.进行注入:使用 union select database(),user() 爆破当前的数据名和当前的用户(点击Forward进行注入攻击)
8.进行注入:利用之前查出来的数据库名称 pikachu 构建 union select TABLE_SCHEMA,TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = ‘pikachu’ 查询数据库中的表名 (点击Forward进行注入攻击)
9.进行注入;利用之前查出来的数据库名称pikachu、用户表名 users构建union select TABLE_NAME,COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA = ‘pikachu’ and TABLE_NAME = ‘users’ 查询表中的列名(点击Forward进行注入攻击)
10.进行注入:由于联合查询要求前后两个SQL语句的列名数要一致,所以这里只能用两个列名进行查询。故使用union select username,password from users查询users表中的用户名和密码字段。(点击Forward进行注入攻击)
11. SQL注入攻击成功,获得其用户名和密码
hello,vince
your email is: vince@pikachu.com
hello,admin
your email is: e10adc3949ba59abbe56e057f20f883e
hello,pikachu
your email is: 670b14728ad9902aecba32e22fa4f6bd
hello,test
your email is: e99a18c428cb38d5f260853678922e03
嚣张的小帅教程到此结束,除了id=1的字段,大家可以试一下其他字段的注入攻击,谢谢大家,本文资料免费发放!