一、安装链接
1.pikachu官网下载
下载地址:https://github.com/zhuifengshaonianhanlu/pikachu
2.phpStudy下载链接
phpStudy下载(安装)-图文详解(windows)_victor_王泽华的博客-CSDN博客_phpstudy windows
二、pikachu简介
pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞。
三、pikachu安装
1.先下载pikachu-master,解压到
2.修改config.inc.php文件,如图:
- 修改config.inc.php文件,如图:
- 下载phpMyAdmin
- 修改root密码,并添加数据库,如图:
- 打开phpMyAdmin,赋予sqli数据库权限,进行如下操作:
- 创建网站,进行如下操作:
- 进行如下操作:
SQL注入
什么是SQL注入?
是指web应用程序对用户输入的数据的合法性没有判断或者没有严格的过滤,攻击者可以在web程序中把定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息
就是使用某种手段,在原来的SQL语句基础上,添加一段恶意的SQL语句并执行,从而达到不被管理员允许的目的
怎么防御?
建议在代码中对数字类型的参数先进行数字类型变换,然后再代入到SQL查询 语句中,这样任何注入行为都不能成功。井且考虑过滤一些参数,比如get参数和 post参数中对于SOL语言查询的部分。
1.内容过滤
2.字符转义,把一些特殊转义,比如PHP配置文件里的magic_quotes_gpc=On
3.杜绝SQL拼接
预编译 prepare statement
4.封装错误信息,不要给用户提供任何数据库错误信息
5.数据库权限控制
6.数据库定义,定义的复杂些
7.数据加密,不要明文存储数据
8.web应用防火墙,WAF
过滤特殊字符
所以防范的时候需要对用户的输入进行检查.
特别式一些特殊字符,比如单 引号,双引号,分号,逗号,冒号,连接号等进行转换或者过建.以下为需过滤 的敏感字符或者语句:
【1】net user
【2】xp_c«ndshel I
【3】add
【4】xec master.(fco. xp_cmdshelI
【5】net I oca Igroup administrators
【6】□select
【7】count
【8】Asc
【9】char
【10】mid
【11】%
【12】,
【13】:
【14】-
【15】 insert
【16】 delete from
【17】 drop table
【18】 update
【19】truncate
【20】 from
修改php.in
修改PHP中默认配置文件php.ini中的配置,来降低sql注入的风险
safe_mode = on //开启安全模式
magic_quotes_gpc = On 〃开启过建函数
display_errors = Off 〃禁止错误信息提示 注:JBnagic_auotes_gpc选项打开,在这种情况下所有的客户端GET和POST 的数据都会自动进行addslashes处理,所以此时对字符串值的SQL注入是 不可行的,但要防止对数字值的SQL注入,如用intvalO等函数进行处理。 但如果你编写的是通用软件,则需要读取服务器的magic_Quotes_gpc后进行相应处理。
使用mysqli_real_escape_string()函数
对于MySQL用户,可以使用函数mysqli_real_escape_string():转义在 SQL 语句中使用的字符串中的特殊字符
加固数据库方面
1、 不要以sysadmin的身份连接数据库.而是使用特定的数据库用户,只具有读取,写入和更新数据库中适当数据的适当特权。此帐户定期检查, 确定它所具有的特权.
2、 以安全的方式创建SQL。让数据库来完成创建SQL的工作,而不是在代码 中完成。使用参数化SQL语句,同时也能提高查询的效率.
3、 保证数据库用户连接信息非明文保存.
加固管理方面
1.加强编程人员良好的安全编码意识,系统地学习安全编码的知识,减少 源代码泄鸯的风险。
2.建立起良好的代码审核、审查体系.由专人负责代码的审计,增加安全 监督环节。
Mybatis
【1】预编译
【2】like
1.MySQL
- Oracle
- sql server
【3】in
防火墙
XSS
什么是XSS?
SS作为OWASP TOP 10 之一
XSS被称为跨站脚本攻击(Cross-site scripting),本来应该缩写为CSS,但是由于和CSS(Cascading StyleSheets,层叠样式脚本)重名,所以更名为XSS。XSS(跨站脚本攻击) 主要基于javascript (JS) 完成恶意的攻
击行为。
JS可以非常灵活的操作html,css和浏览器,这使得XSS攻击的"想象"空间特别大。XSS通过将精心构造的
代码(JS)代码注入到网页中,并由浏览器解释运行这段JS代码,以达到恶意攻击的效果。
当用户访问被XSS脚本注入的网页,XSS脚本就会被提取出来,用户浏览器就会解析这段XSS代码,也就是说用户被攻击了。用户最简单的动作就是使用浏览器上网,并且浏览器中有javascrit解释器,可以解析javascript,然而浏览器不会判断代码是否恶意。也就是说,XSS的对象是用户和浏览器。
漏洞发生在哪?
服务器、微博、留言板、聊天室等等收集用户输入的地方都有可能被注入XSS代码,都存在遭受XSS的风险,只要
没有对用户的输入进行严格过滤,就会被XSS
XSS的危害
XSS利用JS代码实现攻击,有很多种攻击方法,以下简单列出几种
盗取各种用户账号
窃取用户Cookie资料,冒充用户身份进入网站
劫持用户回话,执行任意操作
刷流量,执行弹窗广告
传播蠕虫病毒
XSS Platform 根据各种需求生成 XSS攻击代码 比如说获得管理员Cookie 等等
获得管理员cookie 就可以直接访问后台了
XSS的分类
XSS漏洞大概可以分为三个类型:反射型XSS、存储型XSS、DOM型XSS
反射型XSS(用户触发)
反射型XSS是非持久性、参数型的跨站脚本
反射型XSS的JS代码在Web应用的参数(变量)中,如搜索框的反射型XSS
反射型
就是通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特定的代码参数会被HTML解析、执行。
存在 欺骗性,把存在反射型XSS漏洞的地址发给你,你点击了,造成XSS的攻击。
存储型
存储型XSS是持久性跨站脚本文章来源:https://www.toymoban.com/news/detail-570416.html
持久性体现在XSS代码不是在某个参数(变量)中,而是写进文章来源地址https://www.toymoban.com/news/detail-570416.html
到了这里,关于渗透测试环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!