sql注入

SQL注入漏洞测试(布尔盲注)

烈酒焚心 提交于 2020-01-10 02:46:32
入门:SQL注入漏洞测试(布尔盲注) 启动靶场环境,得到测试地址 http://219.153.49.228:44500/ 访问页面,寻找sql注入点,访问注入页面。 http://219.153.49.228:44500/new_list.php?id = 1 使用sql注入工具,如sqlmap或穿山甲,进行布尔盲注。 本次使用穿山甲进行注入。 对密码密文进行MD5解码,得到密码明文,解码网址如下 cmd5.com 使用得到的用户名和密码登录后台,发现key。 提交key即可。 来源: CSDN 作者: CN_wanku 链接: https://blog.csdn.net/qq_43233085/article/details/103916160

Web安全测试漏洞场景

风流意气都作罢 提交于 2020-01-09 10:36:42
HTTP.sys 远程代码执行 测试类型: 基础结构测试 威胁分类: 操作系统命令 原因: 未安装第三方产品的最新补丁或最新修订程序 安全性风险: 可能会在 Web 服务器上运行远程命令。这通常意味着完全破坏服务器及其内容 技术描述: 通过 IIS 6 引入的 HTTP 协议堆栈 (HTTP.sys) 错误地解析了特制的 HTTP 请求。因此,远程攻击者可能执行拒绝服务供给,并可在系统帐户的环境中执行任意代码。该漏洞会影响 Windows 7、Windows Server 2008R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2 上安装的 IIS。Microsoft 发布了通过修改 Windows HTTP 堆栈处理请求的方式来解决漏洞的更新。 利用的样本: GET / HTTP/1.1 Host: [SERVER] Range: bytes=0-18446744073709551615 SQL 盲注 测试类型: 应用程序级别测试 威胁分类: SQL 注入 原因: 未对用户输入正确执行危险字符清理 安全性风险: 可能会查看、修改或删除数据库条目和表 技术描述: 该软件使用受外部影响的输入来构造 SQL 命令的全部或一部分,但是它未能对可能在 SQL

SQL注入一:注入原理

落花浮王杯 提交于 2020-01-08 19:45:41
Sql注入是一种通过操作sql语句进行攻击目的的技术。 sql注入分类: 1 数据库类型注入 Access,MSsql,mysql等数据库注入攻击 2 提交方式注入 get,post,cookie,http等提交注入攻击 3 参数类型注入 数字,字符,搜索等注入攻击 4 其他复杂性注入 加解密小技巧注入 5 报错延时盲注 手工注入加强版 6 防注入及绕过 WAF及常见过滤分析及绕过 7 注入漏洞拓展 注入函数,注入挖掘等 来源: https://www.cnblogs.com/crystal1126/p/12168232.html

一条SQL注入引出的惊天大案

三世轮回 提交于 2020-01-08 09:45:03
前情回顾 : WAF公司拦截到一个神秘的HTTP数据包,在这个包的表单字段中发现了SQL语句。目标指向80端口,而这正是nginx公司的地盘。详情参见: 一个HTTP数据包的奇幻之旅 虚拟机的世界 一个安静的夜晚,我,一个新的线程诞生了! 我抬头一看,原来我降生的地方是在一个IE浏览器中,这里是一个Windows帝国! 一生下来就要干活了,拿着我的代码开始忙活。 忙碌了一会儿,正当我在磁盘上写入了一个kernerl32.dll文件,我突然被冻结了,动弹不得,不仅如此,我看到其他线程也被冻结了,整个Windows帝国像是被冰封了一般! “小样,总算现出了原型,果然是一个漏洞攻击网页!”,周围突然响起了一个声音。 “谁?谁在说话?”,我大声呼喊。 “ 别挣扎了,你现在在虚拟机里,命运由我掌控 !”。 虚拟机?!原来这个Windows帝国是一个虚拟的世界,我开始为我的命运担忧起来。 突然,漆黑降临,身边的线程一个个消失,帝国大厦也陆续坍塌,终于,轮到了我,我这短暂的一生就这样结束了······· 这到底是怎么一回事?故事还得从那个被WAF公司拦下的HTTP数据包说起。 突袭nginx公司 WAF公司拦下那个数据包的当晚,黑衣人带队闯入nginx公司。 “把你们头儿叫来,我们是WAF公司的安全人员,发现一起针对80端口的SQL注入,经查80端口是你们nginx公司在监听”。 小马哥闻讯赶来

Spring IOC AOP学习笔记

℡╲_俬逩灬. 提交于 2020-01-08 03:50:15
IOC public class IServiceImpl implements IService {   public void IserviceImpl(){}   @Override public void getService() { System.out.println("服务"); } } applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="myService" class="com.pack.Service.IServiceImpl"/> </beans> ApplicationContext来加载类   通过ClassPathXmlApplicationContext来加载类

一个PHP的SQL注入完整过程

人走茶凉 提交于 2020-01-08 02:10:01
本篇文章介绍的内容是一个PHP的SQL注入完整过程,现在分享给大家,有需要的朋友可以参考一下 希望帮助到大家, 很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家 ,需要的可以加入 我的官方群 点击此处 。 学了SQL注入的一些技能后,以下正对PHP+MYSQL进行SQL注入的简单实践 首先观察两个MYSQL数据表 用户记录表: REATE TABLE `php_user` ( `id` int(11) NOT NULL auto_increment, `username` varchar(20) NOT NULL default '', `password` varchar(20) NOT NULL default '', `userlevel` char(2) NOT NULL default '0', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=3 ; INSERT INTO `php

pymysql

微笑、不失礼 提交于 2020-01-07 22:41:27
*/ /*--> */ 目录 About pymysql Install 准备 建立连接 创建数据库 快速上手之增删改查 增 删 改 查 SQL注入 事物 存储过程 返回Python目录 返回测试目录 返回随笔首页 About pymysql 返回顶部 在Python2.x中,Python连接MySQL服务器使用mysqldb库,但是它只支持到Python2.x,在Python3.x中由pymysql模块代替。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 Install 返回顶部 pip install pymysql # 备用地址 pip install -i https://pypi.doubanio.com/simple pymysql 准备 返回顶部 在正式操作前,这里默认你有了一个良好的环境,包括MySQL服务,Python环境。 建立连接 返回顶部 import pymysql conn = pymysql.connect( host='localhost', # 连接的服务器ip user='username', # 用户名 password='password', # 密码 database='day31', # 你想连接的数据库 charset='utf8' # 指定字符编码

addslashes()函数绕过

北战南征 提交于 2020-01-07 13:43:43
前言 该文章主要描述了addslashes()函数常见的编码绕过的情况 2020-01-07 天象独行   函数addslashes()作用是返回在预定义字符之前添加反斜杠的字符串。预定义字符是单引号(')双引号(")反斜杠(\)NULL。比如下图,这样就造成了得结果是我们无法在注入的过程当中使用单引号(’)。在字符行注入的时候是比较头疼的一件事情。下面我们讨论一下一些情况可以绕过addslashes()函数。   测试代码如下: 1 <!DOCTYPE html> 2 <HTML> 3 <head> 4 <title>过滤函数和类---addslashes()函数</title> 5 6 </head> 7 <body> 8 <p>addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。预定义字符是单引号(')双引号(")反斜杠(\)NULL</p><br/> 9 <form action="" method="POST"> 10 Username : <input type="test" name = "username"><br/> 11 Password : <input type="Password" name = "password"><br/> 12 <input type="submit" value="Nest"><br/> 13 </from>

DVWA--SQL注入

一世执手 提交于 2020-01-07 13:11:25
SQL注入原理 就是通过sql命令插入到web表单递交或输入域名页面请求的查询字符串,最终达到欺骗服务器执行恶意的SDL命令。具体来说,它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在WEB表单中输入恶意SQL语句得到包含漏洞的网站数据库,而不是按照设计者意图去执行。 SQL注入类型 按照数据提交的方式: GET注入、POST注入、COOKIE注入、HTTP头部注入 按照注入点类型来分: 数据型注入点、字符型注入点、搜索性注入点 按照执行效果来分: 基于布尔的盲注、基于时间的盲注、基于报错注入、联合查询注入、堆叠注入、宽字节注入 常用SQL语句 show databases;查看数据库名 注:Information_schema:包含所有库的所有数据,mysql5.0以上版本存在该数据库 use emp(表名);使用某个表 show tables;查看表 desc emp(表名);查看表的结构 select * from emp;查询所有列 select empmo,ename,mgr FROM emp;查询指定项 select distinct from emp;只显示结果不同的项 select * from emp where job=’clerk’ 查询指定行 select * from emp where (sal>50 or job=

MyBatis 动态SQL

≯℡__Kan透↙ 提交于 2020-01-07 07:10:50
动态SQl是MyBatis的强大特性之一,可以完成对SQL语句的动态组装。 比如说传入一个User对象,要根据这个User中的数据查询用户的完整信息: 如果User对象中只有name属性有值,sql语句是:select * from user_tb where name=#{name} 如果User对象中只有tel属性有值,sql语句是:select * from user_tb where tel=#{tel} 如果User对象的name、tel都有值,sql语句是:select * from user_tb where name=#{name} and tel=#{tel} 有时候sql语句不是一成不变的,要根据传入的数据动态生成要执行的sql语句,动态sql就适合这种情况。 最好将日志的控制台输出级别设置为DEBUG,这样在控台能看到SQL语句。 MyBatis中的动态sql元素 <if> 相当于java中的if,用于单分支的条件判断 <choose>、<when>、<otherwise> 相当于java中的switch...case...default,用于多分支的条件判断,从多个选项中选择一个 <foreach> 循环,常和sql的in语句搭配使用 <where>、<trim>、<set> 辅助元素,用于一些处理sql拼装、特殊字符的问题 <bind>