IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Win Server 2003搭建Sql注入环境 -> 正文阅读

[网络协议]Win Server 2003搭建Sql注入环境

实验环境说明

身份系统版本IP地址
服务器Windows Server 2003192.168.43.128
攻击者Kali 5.3.0192.168.43.5

软件及环境下载

软件安装与环境部署

  • 安装phpstudy软件,注意安装路径,可能需要修改
    • 因为使用的是虚拟机环境,我是将软件安装在E:\phpStudy下的
    • 需要关闭防火墙(因为作为靶机使用,安装完成系统后,就已经将防火墙关闭了)
  • 安装完成后,启动phpStudy,同时启动服务
    • 因为服务器还开启了IIS服务,所以80端口被占用,这里修改为了8080端口。如果启动服务端口被占用,可以关闭相应端口的服务或者更换phpStudy的服务端口

image-20220511090741640

  • 访问测试

    • 使用地址192.168.43.128:8080/phpinfo.php(如果没有修改端口,则不需要使用端口号)
    • 出现如下情况即表示成功

    image-20220511090450579

  • 将靶场环境复制进服务器中

    • 将下载的靶场环境文件放入到phpStudy的环境中
    • 将整个sqli-labs-master 文件夹复制到E:\phpStudy\WWW中(如果是Github下载的压缩包,需要解压)
    • 找到E:\phpStudy\WWW\penetration\sql-connections文件夹下的db-creds.inc文件,将$dbpass =''后的引号内添加数据库的密码($dbpass ='root'
      • Github项目的需要自己更改,阿里云盘下载的已经修改了
      • 如果更改过MySql数据库的密码,可以通过以下方式查看密码

image-20220511092127980

  • 访问靶场环境测试
    • 使用http://192.168.43.128:8080/sqli-labs-master访问测试(这里我修改了靶场环境的文件夹名,所以是http://192.168.43.128:8080/penetration
    • 点击Setup/reset Database for labs检查是否可以正常连接数据库

image-20220511092546898

image-20220511092758813

  • 环境搭建完成!

Kali测试

nmap测试

  • nmap的端口状态

    • open:端口是开放的

    • closed:端口是关闭的

    • filtered:端口被 Firewall/IDS/IPS 屏蔽,无法确定其状态

    • unfiltered:端口没有被屏蔽,但是否开放需要进一步确定

    • open|filtered:端口是开放的或被屏蔽

    • closed|filtered:端口是关闭的或被屏蔽

  • 常用选项

    • -p 扫描指定端口
    • -f 快速模式-扫描比默认扫描更少的端口
    • -v 显示扫描过程
    • -A 全面系统检测、启用脚本检测、扫描等
    • -V 显示版本号
    • -h 帮助信息
    • -exclude-ports 从扫描中排除指定端口
    • -top-ports 扫描最常用的端口
    • -open 仅显示开放的端口
    • -sS 使用TCP的SYN进行扫描
    • -sT 使用TCP进行扫描
    • -sU UDP扫描
  • 使用命令nmap -p 22,23,80,3389 192.168.43.128,扫描22、23、80、3389端口是否开启

    • 由扫描结果可以看到只开启了80和3389端口

image-20220511130737123

  • 使用命令nmap -O 192.168.43.128,扫描主机的操作系统
    • 根据扫描结果,可以看到主机开放的端口和主机的操作系统

image-20220511131330672

sqlmap测试

  • 在使用sqlmap工具时,报错[22:18:19] [WARNING] you haven't updated sqlmap for more than 920 days!!!
  • 使用命令sqlmap --update更新sqlmap工具
    • 要保证Kali可以联网
  • 常用选项
    • -h 帮助文档
    • -v 显示详细信息
    • -d 直接连接数据库
    • -u 指定url扫描,url必须存在查询参数。例 xxx.php?id=1
    • -l 后面跟一个log文件,判断log(日志)文件中所有记录是否存在注入点
    • -?-version 查看sqlmap版本信息
    • -?-dbs 查看目标服务器有什么数据库
    • -?-tables 目标主机中的数据库有什么数据表
    • -?-columns 获取目标主机中数据库的列数信息
    • -?-dump 查询指定范围的所有数据
    • -?-search 查询目的主机是否存在相当应的列、表和数据库
      • -D 指定数据库
      • -T 指定数据表
      • -C 指定字段
  • 使用命令sqlmap -u "http://192.168.43.128:8080/penetration/Less-1/?id=1"扫描,检查是否存在注入漏洞

image-20220511093638673

  • 可以看到靶机的PHP、Apache、MySQL的版本信息
  • URL后一定要有?id=1

image-20220511093807184

  • 使用命令sqlmap -u "http://192.168.43.128:8080/penetration/Less-1/?id=1" -dbs,获取数据库信息

image-20220511093958496

  • 可以看到存在的数据库

image-20220511094147731

  • 使用命令sqlmap -u "http://192.168.43.128:8080/penetration/Less-1/?id=1" -D test --tables,获取数据库中的表单信息

image-20220511094258358

  • 可以看到test数据库中的存在的表单

image-20220511124556363

  • 使用命令sqlmap -u "http://192.168.43.128:8080/penetration/Less-1/?id=1" -D test -T badboy --columns,获取表单中的所有字段信息

image-20220511124702057

  • 可以看到badboy表单中所有的字段信息

image-20220511124745525

  • 使用命令sqlmap -u "http://192.168.43.128:8080/penetration/Less-1/?id=1" -D test -T badboy -C username --dump,获取表单中的指定字段的内容信息

image-20220511124934226

  • 使用命令sqlmap -u "http://192.168.43.128:8080/penetration/Less-1/?id=1" -D test -T badboy -C password --dump,获取表单中的admin的密码信息

image-20220511125043477

  • 在进行测试的过程中,在服务器更改了数据库内容,添加了表单,但是在使用Sqlmap获取数据库表单时,没有更新出新的表单。服务重启、服务器重启、Kali重启都还是没有更新出新的表单
  • 因为sqlmap在进行注入时,会有缓存记录保存在 /root/.local/share/sqlmap/output
  • 解决办法
    • 使用命令rm -rf /root/.sqlmap/output/x.x.x.x删除旧的缓存记录,x.x.x.x表示注入的IP地址。删除后重新启动
    • 使用命令sqlmap -u "http://192.168.43.128:8080/penetration/Less-1/?id=1" --purge清理缓存

以上内容均属原创,如有不详或错误,敬请指出。
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-13 11:59:22  更:2022-05-13 11:59:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 14:16:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码