黑色网站设计,建造师官网,wordpress插件不兼容,专业网站建设服务53#xff0c;【3】BUUCTF WEB october 2019 Twice SQLinjection-CSDN博客
上面这个链接是我第一次接触二次注入
这道题也涉及了
对二次注入不熟悉的可以看看
BUUCTF出了点问题#xff0c;打不开#xff0c;以下面这两篇wp作为学习对象
[SUCTF 2018]MultiSQL-CSDN博客 …53【3】BUUCTF WEB october 2019 Twice SQLinjection-CSDN博客
上面这个链接是我第一次接触二次注入
这道题也涉及了
对二次注入不熟悉的可以看看
BUUCTF出了点问题打不开以下面这两篇wp作为学习对象
[SUCTF 2018]MultiSQL-CSDN博客
[SUCTF 2018]MultiSQL MYSQL 预处理写-CSDN博客
第一篇前面的1到3步做过了从第4步开始学习 作者所说的越权访问准确来说属于越权访问中的水平越权 所给的条件表达上涉及以下知识
user() 函数
user() 是 SQL 中的一个系统函数不同数据库系统中该函数的作用可能略有不同但通常用于返回当前连接数据库的用户名。例如在 MySQL 中user() 会返回当前登录用户的名称。
mid(str, pos) 函数
mid() 函数用于从字符串中提取子字符串。mid((user()), 1) 表示从 user() 返回的用户名中提取从第 1 个字符开始的子字符串这里实际上就是取用户名的第一个字符。
ascii() 函数
ascii() 函数用于返回字符串最左边字符的 ASCII 码值。所以 ascii(mid((user()), 1)) 就是获取当前数据库用户名字符串第一个字符的 ASCII 码值。
if(condition, value_if_true, value_if_false) 函数
if() 是一个条件判断函数。if(ascii(mid((user()),1))0,1,0) 会判断当前数据库用户名字符串第一个字符的 ASCII 码值是否大于 0如果大于 0 则返回 1否则返回 0。由于字符的 ASCII 码值通常都是大于 0 的所以这个表达式一般会返回 1。
注意布尔盲注常常使用此种表达式 load_file()函数 是 MySQL 数据库中的一个函数其主要作用是读取服务器文件系统上的文件内容并将其作为一个字符串返回。该函数通常用于在 SQL 查询中直接获取文件的文本信息。
预处理预编译语句
是一种在数据库操作中广泛使用的技术用于提高数据库操作的安全性和性能。它将 SQL 语句的编译和执行过程分离先对 SQL 语句进行预编译然后再将用户输入的数据绑定到预编译的语句中执行。通过预处理可以绕过转义单引号
剩下的代码与payload去博主的博客里看吧比较简单
第二篇博主用了堆叠注入确实像select等关键字被过滤后的第一想法就应该是堆叠 并且采用了char拼接绕过char也很常用
本来想粘一篇我做过的堆叠注入的题但实在写的差劲自行搜索学习吧
最后也可成功执行绕过
笔记
很像学习SQL时那块知识的复习不过也有新知识