MSSQL 注入鄙见
最近碰到一个MSSQL的注入,有一段时间没真正搞过注入了,就拿它找回一下手感。其实本身注入没什么特别的地方,就是带会话的SQL注入,有点简单的防护(用sqlmap秒之),然后就没然后了~~
之所以拿出来分享是后续考虑到脱库的效率性【本人只是秉着程序猿提高算法效率的思想去思考这个问题】
有注入,其实相当于一个数据库shell摆在你面前了,盲注应该不在这队列,要脱那就直接select了,但问题是通常网站只是显示一条数据,而非多条数据。如果是一个稍微大的库估计一条一条select都够呛。实际上是巨呛!!!对sqlmap,Pangolin,Havij估算了一下:
sqlmap:用dump一次只能拿到一条数据(普通dump,不知是否有其他高效的选项),快的话2条/s,假如一个100W的表,需要100 0000/2/3600 小时,各位感觉下
Pangolin:只能获得数据库,获得不了表名。而使用数据导出时未带有Cookie,结果导出失败
Havij:试了1.15和1.17版本,都未能获得数据库,没能绕过防护而失败告终
另想可以通过写个Python来搞定,POC通过抓sqlmap的包获得。其实说到底依然是访问一个URL,获得一条数据,添加多线程操作的话速度可能容易接收一点。
这其实有个小问题:MSSQL是没有Mysql的limit语句的,那如果通过准备定位获得某一行的数据呢?通过查找资料,提供一种解决方法:
select top 1 * from database.table where username not in (select top N * from database.table)
原理就是用where条件将top N行数据去除,再select
这种方法有个严重的问题:提交N多请求,容易在日志中被发现!!!
其实,说到脱库,最简单最快的方法就是将数据库备份到网站下进行下载最快。以前遇过一个站后台做了IP白名单,无法访问;shell也没有写/改/执行权限,没找到数据库连接字符串。
经过苦苦思考,最终用bcp搞定。
脱库是个体力活,真的
转载于:https://blog.51cto.com/terrying/1331412
MSSQL 注入鄙见相关推荐
- ASP+MSSQL注入工具 web版 beta 3 final release
ASP+MSSQL注入工具 web版 beta 3 final release 2007-10-01 12:17:14 标签:ASP web MSSQL [推送到技术圈] 文章作者:MIKA[EST] ...
- MSSQL注入手工注入mssql提权
mssql数据库 mssql数据库相比mysql数据库本质上的框架是差不多的,使用的增,删,改,查命令是互相通的,mysql中使用的函数在mssql中有些会起不到作用点. MSSQL数据库的基本知识 ...
- mssql注入和mysql注入_mssql手工注入
mssql注入是针对于sql server数据库的 sql server数据库和mysql数据库是有所区别的,语句命令之类的可自行百度. 平台:i春秋 内容:mssql手工注入 找注入点 点击test ...
- ASPX+MSSQL注入
MSSQL三个关键系统表: 1.master.dbo.sysdatabases系统表:该表位于master数据库中 关键字段:name:库的名字 dbid:库的id(dbid从1到5是系统库) 2. ...
- MSSQL注入语句总结
目录: 基础语句 注入点权限判断 获取数据库 获取指定数据库中的表的列的数据库 判断数据库级别的角色 SQL特性: 关于mssql的注入语句,跟mysql也差不了多少,都是从information_s ...
- mssql注入和mysql注入_MSSQL注入代码
■获取数据库名 and db_name()=0 and db_name(0)=0 and db_name(__i__)=0 and quotename(db_name(__i__))=0 ■获取用户名 ...
- SQL注入之Mssql注入及原理
Mssql简介 MsSQL是指微软的SQLServer数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立.使用和维护数据 ...
- 软件工程第三次作业——软件质量保证鄙见
阅读教材第14章及课后参考文献 写一篇关于软件质量保障的博文 参考文献: 两种不同的声音(1)https://coolshell.cn/articles/6994.html (2)https://w ...
- 谈谈自己关于阅读源码的一点鄙见
起因是这样的,最近一个工作两年同事,用其他同事写好的一些控件,网络库的时候,总是问别人怎么调用,有几种调用方法,不只是一次两次是每次都这样,一个简单封装Dialog的调用都要问别人怎么用传什么参数,什 ...
最新文章
- 再不参与就晚了!!2020年结束前最后一波内测福利!人人有份!
- git fetch和git pull
- 实战:向GitHub提交代码时触发Jenkins自动构建
- nginx php默认首页,iis、apache、nginx设置默认首页index.html方法图解 电脑维修技术网...
- VTK:圆锥用法实战
- javascript包装对象
- 现在很多公司都在辞退年龄超过35岁以上的员工,原因到底为什么?
- error: 'NULL' was not declared in this scope
- [微信小程序] js变量名称写活
- WebForm读取指定的config文件的内容
- 他们为啥说我没有数据分析思维?
- oracle 11g表空间之最大最小
- #动态规划 LeetCode 120 三角形最小路径和
- 时间序列(二):时间序列平稳性检测
- PHP使用声网的页面录制、合流录制、单流录制
- Redis持久化之RDB(详解)
- 开放Centos7端口
- Unity 2D精灵分割图片注意事项
- 实战项目!用PHP实现的编程论坛网站
- java 压缩oop_JVM优化之压缩普通对象指针(CompressedOops)