Mar232020
PHP 获取url里文件的扩展名
PHP 获取 url 地址中文件的扩展名。
$url = 'http://www.phpernote.com/webmap.html?id=1&data=2#laowen';
echo pathinfo( parse_url($url)['path'] )['extension'];
echo pathinfo( parse_url( $url, PHP_URL_PATH ), PATHINFO_EXTENSION );
解析:
parse_url() 该函数解析url、返回其组成部分,结果是一个关联数组如下:
scheme      方案;如 http
host        域名
port    ...阅读全文
抢沙发
Mar232020
JavaScript 复制功能代码,兼容多浏览器
分享一段利用 JavaScript 实现复制功能的代码,兼容多浏览器,兼容IE和火狐浏览器。
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>JavaScript 复制功能代码,兼容多浏览器</title>
</head>
<script type="text/javascript">
    function copyValue(Url2) {
        //var Url2 = docu...阅读全文
Mar172020
PHP中Traits的用法及示例
PHP是单继承的语言,在PHP 5.4 Traits出现之前,PHP的类无法同时从两个基类继承属性或方法,为了解决这个问题,php出了Trait这个特性。(Traits和Go语言的组合功能有点类似)
用法:通过在类中使用use关键字声明要组合的Trait名称,而具体某个Trait的声明使用trait关键词,Trait不能直接实例化。
<?php
trait Drive {
    public $carName = 'BMW';
    public function driving() {
  ...阅读全文
Mar142020
服务器中部署多个laravel应用时配置读取错乱的问题
出现的问题
无意中发现,在多个基于Laravel(5.2)的Web应用中,当应用A进行一个长时间操作时(PHP会运行超过30s+),在这期间,在应用B中进行数据库操作时,B应用会连接到A应用中的数据库,而非B的数据库。
下面的这段错误就是因为不知道为何连接到了A数据库而出现的:
QueryException in Connection.php line 655: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'database_a...阅读全文
Mar062020
Natas33 Writeup(Phar反序列化漏洞)
Natas33:
  
又是一个上传文件的页面,源码如下:
// graz XeR, the first to solve it! thanks for the feedback!
// ~morla
class Executor{
    private $filename=""; 		//三个私有参数
    private $signature='adeafbadbabec0dedabada55ba55d00d';
    private $init=False;
    function __construct(){		//类创建时调用
        $this->filename=$_POST["filename"];
      ...阅读全文
Mar062020
Natas28 Writeup(ECB分组密码攻击)
Natas28:
页面显示这是一个笑话库,可以查找提交字符串所在的笑话内容并随机返回。
 
初步探索
burp抓包发现,流程是post表单提交一个明文后返回一个重定向,然后get请求一个加密参数返回查询结果。这个加密的参数一定以某种方式包含了我们的输入。
我们尝试修改get请求中query的值,返回报错信息:Invalid PKCS#7 padding encountered。说明此处的加密使用了PKCS7Padding填充模式。
将...阅读全文
Mar062020
Natas27 Writeup(mysql溢出截断漏洞)
Natas27:
一个登录节界面,查看源码。
<html>
<head>
<!-- This stuff in the header has nothing to do with the level -->
<link rel="stylesheet" type="text/css" href="http://natas.labs.overthewire.org/css/level.css">
<link rel="stylesheet" href="http://natas.labs.overthewire.org/css/jquery-ui.css" />
<link rel="stylesheet" href...阅读全文
Mar062020
Natas26 Writeup(PHP反序列化漏洞)
Natas26:
打开页面是一个输入坐标点进行绘图的页面。
<html>
<head>
<!-- This stuff in the header has nothing to do with the level -->
<link rel="stylesheet" type="text/css" href="http://natas.labs.overthewire.org/css/level.css">
<link rel="stylesheet" href="http://natas.labs.overthewire.org/css/jquery-ui.css" />
<link rel="st...阅读全文
Mar062020
Natas25 Writeup(目录遍历、头部注入)
Natas25:
打开页面,是一段引文以及可以选择语言的下拉list。查看源码,发现关键代码:
function setLanguage(){          //选择语言
    /* language setup */
    if(array_key_exists("lang",$_REQUEST))  //如果请求提交的参数中存在lang
        if(safeinclude("language/" . $_REQUEST["lang"] )) //检查输入
            return 1;
    safeinclude("language/en"); 
}
funct...阅读全文
Mar062020
Natas24 Writeup(strcmp绕过漏洞)
Natas24:
一个登录页面,查看源码,发现关键代码:
if(array_key_exists("passwd",$_REQUEST)){
    if(!strcmp($_REQUEST["passwd"],"<censored>")){
        echo "<br>The credentials for the next level are:<br>";
        echo "<pre>Username: natas25 Password: <censored></pre>";
    }
    else{
        echo "<br>Wrong!<b...阅读全文
 
        
         
 
 
 
 
 
 
 
 
