主要是对key进行处理$key = substr(openssl_digest(openssl_digest($key, 'sha1', true), 'sha1', true), 0, 16); // openssl_encrypt 加密不同Mcrypt,对秘钥长度要求,超出16加密结果不变 $data = openssl_encrypt($string, 'AES-128-ECB', $key, OPENSSL_RAW_DATA); $data = base64_encode($data);

漏洞表现?s=\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=100修复方案1、开启强制路由config/app.php// 是否强制使用路由 'url_route_must' => true, // 是否开启路由 'url_route_on' => true,2、修改默认参数名称// PATHINFO变量名 用于兼容模式 'var_pathinfo' => 'ST',3、修改源码打补丁thinkphp/library/think/route/dispatch/Module.phpline:70$this->controller = $convert ? strtolower($controller) : $controller;向下增加:if (!preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) { throw new HttpException(404, 'co

解析方法package main import ( "encoding/xml" "errors" "fmt" "os" ) type TConfig struct { ListenServer string `xml:"listen"` PhoneDict string `xml:"dict"` } var GConfig *TConfig func ParseXmlConfig(path string) (*TConfig, error) { if len(path) == 0 { return nil, errors.New("not found configure xml file") } n, err := GetFileSize(path) if err != nil || n == 0 { return ni

#!/bin/bash #登录账号 user=`whoami` #运行环境 env="debug"; if [[ $user = "root" ]]; then echo $user; env="release"; fi echo "运行环境:${env}"; #安全验证操作 if [[ $env != "debug" ]]; then read -t 20 -s -n 4 -p "请在20秒内输入操作密码:" pwd if [[ $pwd != 1234 ]]; then echo -e "\n" echo "密码错误无法使用" exit fi #statements fi root_dir="/root/"; #管理端代码目录 web_dir="${root_dir}nginx/html/test

安装virtualenvpip install virtualenv查看版本号virtualenv --version创建新环境virtualenv venv启动环境source venv/bin/activate在虚拟环境中安装包pip install numpy退出虚拟环境deactivate