Sqli-labs靶场搭建

简介: 本文章是在自己在使用新版phpstudy搭建靶场过程中遇到了很多问题,但在查询无果后,决定尝试旧版的phpstudy看能否成功,很幸运,成功了,也并不是网上的教程,说是php必须在5.2及以下.我使用的是5.4版本的.是对SQL注入进行一个简单的回归,然后就是对于自己在搭建靶场中所遇到的一些问题的解决办法,以及进行安装步骤的总结,对于自己的自主配置和独立解决问题的能力是一种培养

前言


版权声明:本文为本博主在CSDN的原创文章搬运而来,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。                               

原文链接:https://blog.csdn.net/weixin_72543266/article/details/132842020


本文章是在自己在使用新版phpstudy搭建靶场过程中遇到了很多问题,但在查询无果后,决定尝试旧版的phpstudy看能否成功,很幸运,成功了,也并不是网上的教程,说是php必须在5.2及以下.我使用的是5.4版本的.


搭建框架

image.gif

1,SQL注入?

这里我们先复习一下,我们在学习过程中也不要忘记常常要往回看,回头看是一种好的学习习惯

1.1,SQL注入是什么?

SQL注入是一种常见的安全漏洞,它允许攻击者通过将恶意的SQL代码插入到应用程序的输入字段中来执行非授权的数据库操作。

1.2,SQL注入的原理是什么?

SQL注入的原理是利用应用程序没有对用户输入进行充分的验证和过滤,攻击者可以通过输入特殊字符或者SQL语句片段来改变原始的SQL查询语句的逻辑。

1.3,攻击者可以获取到什么信息?

攻击者可以利用SQL注入进行各种恶意操作,包括获取敏感数据、修改、删除或插入数据,或者执行其他任意的SQL语句。

1.4,开发人员如何防范

  1. 使用参数化查询或预编译语句:确保应用程序将用户输入作为参数传递给SQL查询,而不是将其直接插入到查询字符串中。
  2. 输入验证和过滤:对于所有用户输入的数据,进行验证和过滤,确保其符合预期的格式和结构,以防止恶意注入。
  3. 最小化权限:在数据库中,为应用程序使用的数据库账号分配最小化的权限,只赋予执行必要操作的权限,这样即使发生注入攻击,也能尽量减小损害。
  4. 定期更新和维护:及时更新数据库和应用程序的补丁,以修复已知的安全漏洞。

2,phpStudy准备

这里是有新版和旧版两种方式去解决的

2.1,旧版准备

下载后为一个exe文件进行运行,然后选择要安装的位置就可以了

2.2,新版准备

这里可以去看我的另一篇文章,里面有最新版的安装操作,这里我也就不去截新图了,直接就从之前的文章截了一下,然后沾过来了

image.gif

3,sqli-labs源码准备

可以在github进行下载,也可以在我的网盘进行下载,详细看原文


4.将下载的靶场放置到WWW根目录下

新版的具体的直接看我之前写的文章里面有详细的讲解,怎么放置和解压,这里我讲解一下旧版的,怎么确定和进行,打开工具后,我们先点击其他选项菜单,然后点击网站根目录

image.gif

然后我们将靶场解压到这个目录下

image.gif

5.修改配置信息

用文本编辑器打开路径 某盘:\phpstudy\PHPTutorial\WWW\sqli-labs-master\sql-connections 下的db-creds.inc,然后修改密码为root,这里的密码要跟phpstudy里的php数据库的用户密码(默认为root)对上。旧版不用管,就改root就完了,然后就不用管了

image.gif

新版的要确定,红线部分的密码是不是root,不过一般也是默认为root

image.gif

6.数据库初始化

以上步骤完成后输入127.0.0.1或者127.0.0.1/sqli-labs-master/进入靶场,点击下方所指示的,初始化数据库

image.gif

出现下面的信息代表,代表靶场安装成功

image.gif

                            点击图片中的红框就可以进行,SQL注入的练习了

image.gif

7.在新版的phpstudy搭建时会出现的问题

image.gif

7.1,PHP版本降级

因为php7版本以上抛弃了mysql_系列函数,转用mysqli系列函数,所以用php7版本以上安装的时候就会报错,我们需要为php降个级

image.gif

依次按照图中所示进行操作,最后进行版本更换,这里因为是我是在虚拟机里搭建的,所以无法进行安装和使用旧版的php,所以如果是在本机搭建的话,应该可以成功.

7.2,避免端口冲突

  如果有已经建成的网站,须将sqli-labs的端口与其避开,这样才不会出现端口冲突

image.gif

8,总结

本章是对SQL注入进行一个简单的回归,然后就是对于自己在搭建靶场中所遇到的一些问题的解决办法,以及进行安装步骤的总结,对于自己的自主配置和独立解决问题的能力是一种培养


每日一言

真正的有福之人,是经历极大的挫折磨难后,依然屹立不倒的人。一个人能承受的东西越多,他所能得到的馈赠才越多。

 

相关文章
|
6月前
|
数据安全/隐私保护
【less-4】sqli-labs靶场第四关
【less-4】sqli-labs靶场第四关
|
6月前
|
数据安全/隐私保护
【less-3】sqli-labs靶场第三关
【less-3】sqli-labs靶场第三关
|
6月前
|
SQL 安全 关系型数据库
【less-2】sqli-labs靶场第二关
【less-2】sqli-labs靶场第二关
|
7月前
|
安全 数据库 数据安全/隐私保护
sqli-labs第一关
sqli-labs第一关
|
7月前
|
PHP
8、sqli-labs环境
8、sqli-labs环境
43 1
|
SQL 数据库
SQLi LABS Less-26a
第26a关使用GET请求传递参数,在url地址栏中构造payload即可 源码中过滤了参数中的or,and,/*,--,#,空格,斜线,我们想办法绕过即可
325 0
SQLi LABS Less-26a
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-16
第16关使用POST请求提交参数,可以使用代理工具抓包或直接在输入框中修改参数 后端代码根据用户输入账号和密码去数据库中查询,查询成功则返回登录成功,否则返回登录失败,页面没有显示的数据,SQL语句中使用了错误抑制符@来限制数据库的报错信息,因此不能使用联合注入或报错注入,推荐使用布尔盲注,源码如下
151 0
SQLi LABS Less-16
SQLi LABS Less-30
第30关使用GET请求传递参数,在url中构造payload即可 后端源码中并没有做什么过滤,只是在参数两边添加了双引号
144 0
SQLi LABS Less-30
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-21
21关使用POST请求提交参数,对用户名和密码中的特殊字符进行了转译,难度较大
169 0
SQLi LABS Less-21
SQLi LABS Less-25a
第25a关使用GET请求传递参数,在url地址栏中构造payload即可 后端源码中过滤了and和or,但只过滤了一次,我们可以通过双写绕过
232 0
SQLi LABS Less-25a