主页 > 网络知识 > 记一次面试bypass宝塔+安全狗的手注(2)

记一次面试bypass宝塔+安全狗的手注(2)

可能转换为同一个字符。打个比方就是譬如select中的e对应的unicode为%u0065,但是%u00f0同样会被转换成为 e。s%u0065lect->select s%u00f0lect->select WAF层可能能识别s%u0065lect的形式,但是很有可能识别不了s%u00f0lect的形式。这样就可以利用起来做WAF的 绕过。常见三个关键字(union+select+from)的测试情况:

s%u0045lect = s%u0065lect = %u00f0lect u --> %u0055 --> %u0075 n -->%u004e --> %u006e i -->%u0049 --> %u0069 o -->%u004f --> %u006f -->%u00ba s -->%u0053 --> %u0073 l -->%u004c --> %u006c e -->%u0045 --> %u0065-->%u00f0 c -->%u0043 --> %u0063 t -->%u0054 -->%u0074 -->%u00de -->%u00fe f -->%u0046 -->%u0066 r -->%u0052 -->%u0072 m -->%u004d -->%u006d

mssql特性

 

空白字符

Mssql可以利用的空白字符有(需要在字符前面加%):

01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20

 

 

注释符

注释符可以用来代替空格,或者和--配合使用,--也可以配合%0a(注释加换行)

/**/ -- /**anything*/

 

 

特殊数值

一般用在注入点上

如1.1或者1E0这些

 

 

运算符

下面摘自 404大佬的MSSQL_SQL_BYPASS_WIKI

+   加法运算 -   减法运算 *   乘法运算 /   除法运算,如果两个表达式值都是整数,那么结果只取整数值,小数值将略去 %   取模运算,返回两数相除后的余数 &   位与逻辑运算,从两个表达式中取对应的位。当且仅当输入表达式中两个位的值都为1时,结果中的位才被设置为1,否则,结果中的位被设置为0 |   位或逻辑运算,从两个表达式中取对应的位。如果输入表达式中两个位只要有一个的值为1时,结果的位就被设置为1,只有当两个位的值都为0时,结果中的位才被设置为0 ^   位异或运算,从两个表达式中取对应的位。如果输入表达式中两个位只有一个的值为1时,结果中的位就被设置为1;只有当两个位的值都为0或1时,结果中的位才被设置为0 =   等于  <>  不等于 >   大于   !=  不等于 <   小于   !<  不小于 >=  大于或等于    !>  不大于 <=  小于或等于 ALL 如果一组的比较都为true,则比较结果为true AND 如果两个布尔表达式都为true,则结果为true;如果其中一个表达式为false,则结果为false ANY 如果一组的比较中任何一个为true,则结果为true BETWEEN 如果操作数在某个范围之内,那么结果为true EXISTS  如果子查询中包含了一些行,那么结果为true IN  如果操作数等于表达式列表中的一个,那么结果为true LIKE    如果操作数与某种模式相匹配,那么结果为true NOT 对任何其他布尔运算符的结果值取反 OR  如果两个布尔表达式中的任何一个为true,那么结果为true SOME    如果在一组比较中,有些比较为true,那么结果为true

 

当我们了解完这些特性之后,直接开干,随即就打开了老夫的pycharm

下面直接省略测试过程的图片,大家可以手工测也可以用intruder来跑.fuzz是个漫长的过程,我这里只可以大家提供思路

先把空白字符和注释定义出来(经测试发现+也有同等效果)

 

记一次面试bypass宝塔+安全狗的手注

 

1.先把所有的空格都用注释替换

 

记一次面试bypass宝塔+安全狗的手注

 

2.对and和where进行处理,在它们前后随机加空白符,用来混淆这两个关键字

 

记一次面试bypass宝塔+安全狗的手注

 

3.利用iis特性对下面这几个关键字某个字符用unicode编码替换

 

记一次面试bypass宝塔+安全狗的手注

 

4.对下面这几个符合进行处理,

在某些函数会被拦截用+()来bypass

查询某某库的某某表如admin.user会被拦截,用+.来bypass

 

记一次面试bypass宝塔+安全狗的手注

 

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!