一、靶场搭建
下载工具:phpstudy
Pikachu靶机下载地址:
https://github.com/zhuifengshaonianhanlu/pikachu
下载后解压缩并放入如下文件夹(网站根目录)
建议修改文件名称为 pikachu
修改配置文件(mysql 用户名:root 密码:root 保存)
强调一下:数据库密码默认为root,如果你修改了数据库密码,这里要跟着修改
修改完保存,安装初始化界面
点击安装/初始化,显示如下界面则安装完成
二、通关教程
模块一:暴力破解
“暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。
基于表单的暴力破解
先尝试使用burp暴力破解
打开burp,开启代理拦截,推荐使用火狐浏览器的插件,或者在浏览器里面设置网络
开启后,随便输入账号和密码,进行抓包,抓包以后,点击右键发送到intruder模块
将所有变量清除,然后对账号和密码进行变量添加。
接着加入字典,添加两个负载集,分别导入账号和密码的字典。
接着开始攻击,攻击结束后,根据返回的长度就可得到正确的账号和密码
验证码绕过(on server)
模块二:Sql Inject(SQL注入)
在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库注入漏洞。
一个严重的SQL注入漏洞,可能会直接导致一家公司破产!
SQL注入漏洞主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。 从而导致数据库受损(被脱裤、被删除、甚至整个服务器权限沦陷)。在构建代码时,一般会从如下几个方面的策略来防止SQL注入漏洞:
1.对传进SQL语句里面的变量进行过滤,不允许危险字符传入;
2.使用参数化(Parameterized Query 或 Parameterized Statement);
3.还有就是,目前有很多ORM框架会自动使用参数化解决注入问题,但其也提供了"拼接"的方式,所以使用时需要慎重!