php加密

PHP 开发API接口签名验证

老子叫甜甜 提交于 2020-01-13 02:37:10
密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。 解释来源: http://baike.so.com/doc/6783134-6999702.html 参考: http://www.docin.com/p-572103142.html 上一篇 : PHP 开发API接口签名验证 中我们说到了sign签名,sign其实是防篡改的一种方法,它将约定好的排序、位置、数组进行密钥加密生成sign对比。 是的,sign签名我们是能看到数据的,只是可以防止数据的篡改。而AES可以加密解密数据 AES通过约定好的密钥进行加密,通过约定好的密钥解密。 ECB加密模式(不推荐): 容易被攻击 <?php /* * 加密 */ function encrypt($input, $key) { $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB); $input = pkcs5_pad($input, $size); $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, '

PHP大马后门分析

风流意气都作罢 提交于 2020-01-12 07:18:24
QQ交流群:811401950 一. PHP大马 PHP大马,用php写的木马文件,一般自带提权,操作数据库,反弹shell,文件下载,端口扫描等功能。网上很多地方都能下载到这些木马,但是大部门大马都会自带有后门,也就是当你上传木马到别人的服务器上的时候,该大马的制作者同样会通过后门获得服务器的权限。今天就来分析一波该大马中的后门。 二. 分析大马文件 打开下载的php大马,可以看出该大马是经过加密了的。 解密一下,如下图步骤 解密出来的代码,代码太长就不全部贴出来了。可以看到框框的内容应该就是木马中的后门地址了,但是也是经过加密的。猜测应该是从远程服务器访问到这个代码。 继续解密框框中的加密代码,先解密第一段中的URL。 解密出来的结果如下图 再继续解密第二段 解密出来的结果如下图,这是个混淆,先不管,访问下第一个解密出来的链接。 访问是张gif图片,看不出什么内容。把它下载下来,再打开。头疼,又是一大段加密内容。 这里只能用解密的脚本来解密。解密过后的代码如下图。可以看到在图中标注的框框出应该就是制作者定义的变量postpass指向某个链接了。 api接口代码 再继续解密这个api接口地址。 解密结果如下图 该地址访问不了,做了限制,应该就是制作者的箱子地址了。 从代码分析来看,当用这个php大马拿到webshell的时候

PHP 小知识

白昼怎懂夜的黑 提交于 2020-01-11 07:38:16
PHP 加密解密 <?php//加密 function encrypt($data, $key) { $key = md5($key); $x = 0; $len = strlen($data); $l = strlen($key); $char = ''; for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= $key{$x}; $x++; } $str = ''; for ($i = 0; $i < $len; $i++) { $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256); } return base64_encode($str); } //解密 function decrypt($data, $key) { $key = md5($key); $x = 0; $data = base64_decode($data); $len = strlen($data); $l = strlen($key); $char = ''; for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= substr($key, $x, 1); $x++; } $str = ''; for

支付宝RSA签名

天大地大妈咪最大 提交于 2020-01-10 15:40:50
1、参考网上相关文章,开放php中的openssl,但使用网上例子调用openssl_pkey_new,一直报100013错误。后改用用支付宝提供的SDKdemo程序 发现使用提供的privkye,可以生成签名串,但使用苹果电脑生成的key就不成功。 参考此文http://orangeholic.iteye.com/blog/2161771 PHP RSA加解密示例 ,在centos下 yum install openssl,再利用生成命令产生privkey和publickey能生成签名。 2、例子说明,参考支付宝官网文档https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1 服务端SDK 方法说明 加签方法(如果不用SDK调用,推荐用该方法加签) 1 2 3 4 5 6 /** @param params 参数列表 key-参数名称 value-参数值 @param privateKey 加签私钥 @param charset 加签字符集 **/ String AlipaySignature.rsaSign(Map<String, String> params, String privateKey, String charset) 验签方法(同步请求时,如果不用SDK调用

PHP自定义函数+系统函数库

て烟熏妆下的殇ゞ 提交于 2020-01-10 11:44:42
全局变量 $n = 5; //全局变量 function fun1(){ global $n; echo '我在函数体内也可以调用全局变量n,它的值是:' , $n;//5 $n++; } fun1(); echo '<hr>'; echo $n;//6 $n = 6; function fun1(){ echo '变量的值是:' , $GLOBALS['n']; $GLOBALS['n']++; } fun1(); echo $GLOBALS['n']; 不使用循环语句,来计算1~100的和 function recursive($n){ if($n>=1){ return $n + recursive($n-1); } } echo recursive(100); 引用 $foo = 'Bob'; $bar = &$foo; //看待成变量的别名 $bar = 'Rose'; echo $foo;//Rose $foo = 'Mooc'; $bar = &$foo; //看待成变量的别名 unset($foo); //变量销毁 echo $bar;//Mooc 自定义函数 function fun1(&$n){ $n++; echo '我是函数体内的局部变量' , $n ;//4 } $n = 3; fun1($n); echo $n , '<hr>';//4 获得扩展名

迅速学会PHP加密解密技巧

房东的猫 提交于 2020-01-10 04:11:18
我们在这里为大家详细介绍了有关 PHP 加密解密的实现方法。希望本文介绍的内容能够提高大家对PHP语言的了解程度。最近学习URL跳转的时候新进三个超好用的PHP加密解密函数,貌似是discuz里的… 使用这些PHP加密解密的原因是因为有时自己的URL地址被人获取以后想破解你里面传值的内容就必须知道你的key,没有key,他应该要破了一阵子才能知道你URL里面的内容吧... 闲话少说,先将它们打包成一个文件就叫fun.php吧 < ?php function passport_encrypt($txt, $key) { srand((double)microtime() * 1000000); $ encrypt_key = md5 (rand(0, 32000)); $ ctr = 0 ; $ tmp = '' ; for($ i = 0 ;$i < strlen ($txt); $i++) { $ ctr = $ ctr == strlen($encrypt_key) ? 0 : $ctr; $tmp . = $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]); } return base64_encode(passport_key($tmp, $key)); } function passport_decrypt($txt,

php加密解密函数大全

坚强是说给别人听的谎言 提交于 2020-01-09 21:54:33
第一种: <?php function encryptDecrypt($key, $string, $decrypt){ if($decrypt){ $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "12"); return $decrypted; }else{ $encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key)))); return $encrypted; } } //加密:"z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=" echo encryptDecrypt('password', 'Helloweba欢迎您',0); //解密:"Helloweba欢迎您" echo encryptDecrypt('password', 'z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=',1); ?> 第二种 <?php //加密函数

Discuz论坛写出的php加密解密处理类(代码+使用方法)

假装没事ソ 提交于 2020-01-09 14:37:07
PHP加密解密也是常有的事,最近在弄相关的东西,发现discuz论坛里的PHP加密解密处理类代码,感觉挺不错,在用的时候,要参考Discuz论坛的passport相关函数,后面我会附上使用方法,先把类代码帖上来: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 <?php /*======================================================== = 文件名称:cls.sys_crypt.php = 摘 要:php加密解密处理类 = 版 本:1.0 = 参 考:Discuz论坛的passport相关函数 =========================================================*/ class SysCrypt { private $crypt_key ; // 构造函数 public function __construct( $crypt_key ) { $this -> crypt_key = $crypt_key ; } public function php_encrypt

你没有见过的加密

寵の児 提交于 2020-01-09 02:03:36
# 你没有见过的加密! ## 题目描述 ``` MDEzMjE5MDAyMTg0MTUzMjQwMTQ0MDc3MjUzMDk2MTc1MTUzMTE4MTg4MDEwMDA2MTg4MDA0MjM4MDI1MTA3MTU4MTc5MTM4 MjUyMTUxMDQzMDI3MDQwMTg3MTc2MTQ3MTU2MTMyMDQzMDI5MDM3MjE0MDg4MTExMDE1MDU4MjM3MjE3MTIyMDQxMjM2MTQz 请喜欢linux的你,自己动手写出解密代码吧 格式:flag{ } 解题链接: test.rar ``` ## 解题思路 打开附件,看到加密算法,直接写解密算法,这里有一个坑,不同版本,不同操作系统的php对`srand`种子后的随机值生成序列不一样,这也导致了很多人解不出来flag。 我也找了用了几个虚机测了几个版本都出不来,急中生智,找了个在线的php运行工具,找到了对应版本5.3,版本号是从访问题目附件的返回包里找的。 ```php <?php function decrypt($str) { srand(3284724); if(preg_match('%^[a-zA-Z0-9/+]*={0,2}$%',$str)) { $str = base64_decode($str); if ($str != "" && $str != null &&

区别zend解密版本Zend Optimizer和Zend GuardLoader

早过忘川 提交于 2020-01-07 17:58:13
实现对PHP应用的脚本进行加密保护和对PHP应用的产品进行商业许可证管理,还可以为许多软件生产商、IT服务提供商提供完善的加密和安全的产品发布系统。 你选择的apache版本全是ts的php以isapi运行的不支持Zend GuardLoader解密组件安装。 首先解释下zend加密,目前zend公司有两个zend解密版本:一个是Zend Optimizer(只适用于ts的php5.2系列)另一个是Zend GuardLoader(只适用于nts的php5.3/php5.4系列,具体是php5.3还是php5.4加密的一般cms程序都有说明,下载对应php版本的程序即可)。 来源: 51CTO 作者: gzxiaomei 链接: https://blog.51cto.com/13959155/2464912