All posts by 龙生

PHP 现反序列化漏洞,或使 WordPress 遭远程攻击

英国安全公司 Secarma 的研究主管 Sam Thomas 本月在 Black Hat 和 BSides 安全会议上展示了 PHP 编程语言的安全漏洞,并指出该漏洞影响了所有接受用户资料的 PHP 应用程序和库,包括 WordPress 等内容管理系统(CMS),并将允许远程程序攻击。 序列化(Serialization)与反序列化(Deserialization)是所有编程语言都具备的功能,序列化将对象转换为字符串,以将数据迁移到不同服务器,服务或应用程序上,然后通过反序列将字符串还原到对象。 安全研究员 Stefan Essar 在 2009 年就透露了 PHP 中反序列化黑客控制的数据带来的风险,而相关的漏洞不仅存在于 PHP 中,还存在于其他编程语言中。 Thomas 公布的是 PHP 的新攻击技术,可用于各种场景,例如 XML External Entity(XEE)漏洞或服务器端伪造请求(SSFR)漏洞等。 Thomas 表示,过去外界认为 XXE 漏洞带来的最大问题是信息外泄,但现在可出发程序执行。相关攻击分为两个阶段。 首先,将包含恶意对象的 Phar 存档上传到攻击目标的本地文件系统,然后触发一个基于 phar:// 的文件操作,就可能导致恶意程序执行。 Thomas 已利用 PHP 的反序列化程序成功攻击了 WordPress 与 Typo3 内容管理平台,以及 Contao 所采用的 TCPDF 库。   from:https://www.oschina.net/news/99165/php-unserialization-vulnerability

龙生   21 Aug 2018
View Details

DART

Dart是谷歌开发的计算机编程语言,后来被Ecma (ECMA-408)认定为标准 。它被用于web、服务器、移动应用和物联网等领域的开发。它是宽松开源许可证(修改的BSD证书)下的开源软件。 Dart是面向对象的、类定义的、单继承的语言。它的语法类似C语言,可以转译为JavaScript,支持接口(interfaces)、混入(mixins)、抽象类(abstract classes)、具体化泛型(reified generics)、可选类型(optional typing)和sound type system。

龙生   16 Aug 2018
View Details

栅格化

栅(shan)格化,是PS中的一个专业术语,栅格即像素,栅格化即将矢量图形转化为位图(栅格图像)。最基础的栅格化算法将多边形表示的三维场景渲染到二维表面。 读了好多年的zha格化~~

龙生   15 Aug 2018
View Details

Linux 内核曝 TCP 漏洞,极小流量就可以 DoS 瘫痪设备

卡内基梅隆大学的 CERT/CC 发出警告,称 Linux 内核 4.9 及更高版本中有一个 TCP 漏洞,该漏洞可使攻击者通过极小流量对系统发动 DoS (Denial-of-Service,拒绝服务)攻击。 该漏洞是由诺基亚贝尔实验室支持的芬兰阿尔托大学网络部门的 Juha-Matti Tilli 发现的,目前已经被编号为 CVE-2018-5390,并且被 Red Hat 称为“SegmentSmack”。 CERT/CC 指出,由于漏洞,新版本 Linux 内核可能被迫对每个传入的数据包进行非常消耗资源的 tcp_collapse_ofo_queue()和 tcp_prune_ofo_queue()调用,这会导致受影响的系统上 CPU 变得饱和,从而产生 DoS 条件。 远程攻击者可以以相对较小的传入网络流量带宽通过在正在进行的 TCP 会话中发送特别修改的数据包来导致 DoS。“在最糟糕的情况下,攻击者可以仅使用小于 2kpps (每秒 2000 个数据包)的攻击流量让被害主机瘫痪”,Red Hat 解释到:“四个流的攻击结果可能看起来像是四个 CPU 内核完全饱和,并且网络数据包处理被延迟。” CERT/CC 列出了许多可能受到影响的网络设备供应商、PC 和服务器制造商、移动供应商和操作系统制造商(具体列表),鉴于 Linux 的广泛使用,该漏洞的影响范围很大,包括从亚马逊和 Apple 到 Ubuntu 和 ZyXEL 的每个供应商。目前已确认受影响的 Red Hat 系统包括 RHEL 6 和 7、RHEL 7 for Real Time、RHEL 7 for ARM64、RHEL 7 for IBM POWER 和 RHEL Atomic Host。 Red Hat 表示,对于管理员来说,除了等待内核修复,目前还没有有效的解决方法或缓解措施。   from:https://www.oschina.net/news/98791/linux-kernel-bug-leads-tiny-dos-attack

龙生   09 Aug 2018
View Details

如何运行jnlp文件

运行DOS命令: C:\Users\thinkpad>javaws D:\***.jnlp 如提示“应用程序已被java安全阻止”则进入控制面板-》Java  打开java控制面板,在安全选项卡中设置例外站点即可。   from:https://www.cnblogs.com/101key/p/6478395.html

龙生   08 Aug 2018
View Details

WinRAR的命令行模式用法介绍

因工作中要对数据打包,顺便研究了下WinRAR的命令行模式,自己写了些例子,基本用法如下: 测试压缩文件准备:文件夹test_data,内部包含子文件夹,分别存放了一些*.log和*.txt文件。   测试代码如下:

以上为winrar的基本压缩,解压命令。 关于winrar 的开关选项,以后有空再研究整理。   备注:WinRAR.exe为安装完后,从安装目录将主程序winRAR.exe拷贝出来即可,该程序是独立可运行的。 以下为winRAR的命令帮助原文: Alphabetic commands list a add files to an archive c add an archive comment ch change archive parameters cv convert archives cw write an archive comment to file d delete files from an archive e extract files from an archive, ignoring paths f freshen files within an archive i find string in archives k lock an archive m move files and folders to an archive r repair a damaged archive rc reconstruct missing volumes rn rename archived […]

龙生   08 Aug 2018
View Details

批处理命令教学之if语句

if用于条件判断,适用于以下情形: 1、判断驱动器、文件或文件夹是否存在,用 if exist 语句; 2、判断某两个字符串是否相等,用 if "字符串1"=="字符串2" 语句; 3、判断某两个数值是否相等,用 if 数值1 equ 数值2 语句; 4、判断某个变量是否已经被赋值,用 if defined str 语句; if语句的完整格式是这样的:if 条件表达式 (语句1) else (语句2),它的含义是:如果条件表达式成立,那么,就执行语句1,否则,将执行语句2。 对于以上四种情形,可以分别使用如下代码: 1、if exist d:\test.txt (echo D盘下有test.txt存在) else (echo D盘下不存在test.txt) 2、if "abc"=="xyz" (echo 字符串abc等于字符串xyz) else (echo 字符串abc不等于字符串xyz) 3、if 1 equ 2 (echo 1等于2) else (echo 1不等于2) 4、if defined str (echo 变量str已经被赋值,其值为%str%) else (echo 变量str的值为空) 判断字符串是否相等的时候,if会区分大小写,比如,单纯的if语句会认为字符串abc和字符串Abc不相同,若不想区分大小写,则需要添加 /i 开关,使用 if /i "字符串1"=="字符串2" 的格式;另外,等于符号是连续的"=="而非单独的"="。 判断两个数值之间的大小关系,除了等于用equ之外,还有其他的关系符号,所有适用于if语句的关系符号见下表: 中文含义 关系符 英文解释 等于 equ equal 大于 gtr greater than 大于或等于 geq greater than or equal 小于 lss less than 小于或不等于 leq […]

龙生   08 Aug 2018
View Details

windows bat(批处理):IF详解

1. IF & IF not if 和 if not 有都有3中形势: IF [NOT] ERRORLEVEL number do command IF [NOT] string1==string2 do command IF [NOT] EXIST filename do command NOT 指定只有条件为 false 的情况下,Windows 才应该执行该命令。 ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出代码,指定条件为 true. string1==string2 如果指定的文字字符串匹配,指定条件为 true. EXIST filename 如果指定的文件名存在,指定条件为 true. command 如果符合条件,指定要执行的命令。如果指定的条件为 FALSE,命令后可跟 ELSE 命令,该命令将在 ELSE 关键字之后执行该命令。 1.1 IF [NOT] string1==string2 do command 注意是 string, 同时要保持string1 和string2 的格式相同 如: [python] if "%1"=="a" format a: if {%1}=={} goto noparms if {%2}=={} goto noparms 1.2 IF [NOT] EXIST filename do command 如果有指定的文件,则条件成立,运行命令,否则运行下一句。 如 [python] 1. if exist […]

龙生   08 Aug 2018
View Details

使用jenkins进行项目的自动构建部署

jenkins 简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:持续的软件版本发布/测试项目和监控外部调用执行的工作。 官网地址地址: https://jenkins.io 下载安装启动 CentOS 下用yum进行安装启动

下载war包放到tomcat中启动 服务器 yum 安装速度太慢了,最终我选择了这种方式,本地下载好war包传到服务器上的tomcat容器下,然后启动 下载地址:http://mirrors.jenkins.io/war-stable/latest/jenkins.war 初始化 在浏览器中输入url打开jenkins的后台控制页面 初始化界面 初始化成功后会自动生成一个管理员密码放到指定位置,根据页面提示复制密码粘贴到输入框就可以登录了 初始登录界面 登录成功后回让你选择插件的安装,可以选择建议的安装也可以自己进行选择,不清楚的话可以使用建议的安装 初始登录界面 由于建议安装的插件比较多,安装的过程有点慢,多等待一会 初始登录界面 安装的过程也可能因为网络等一些原因安装会失败,现在可以无视它,点击Continue,后面再进行手动的安装 安装完成 安装完成后最好新创建一个管理员账户代替之前的临时自动生成的密码账户 创建新的管理员账户 初始化完成,进入后台管理界面 初始化完成 后台管理界面 安装插件 之前初始化的时候,有些插件安装失败,可以在用到的时候来手动修复它,没用到的话就可以暂且不理它,不影响jenkins的使用 点击左侧边栏的“系统管理”,就可以看了插件安装的一些错误信息 插件错误信息 在“系统管理”中往下拉,找到“管理插件”点击进去就可以查看和管理所有的插件,点击“可选插件”显示所有jenkins支持的插件,在右上角的“过滤”输入框中,输入需要安装的插件名就可以筛选查找到想要的插件 查找插件 选中要安装的插件输入框,点击安装就可以在线安装需要的插件,当然由于网络的原因也可能再次安装错误,或者安装的比较慢。我们可以点击插件名进入插件的主页,里面有该插件的详细信息并能下载hpi文件进行手动安装 插件详情 在“管理插件”的页面中点击高级选项,我们可以在下面找到“上传插件”,上传下载好的插件,点击“上传”,系统就会自动上传安装该插件。 上传插件 gitlab的配置 集成gitlab,让jenkins能够直接读取修改gitlab中的代码,方便项目的构建 安装gitlab-plugin 在“系统管理” -> “系统设置“ -> “Gitlab” 中配置对应的gitlab信息 点击“Test Connection”测试下配置是否成功 Gitlab配置 Add Gitlab Credentials Gitlab API token Publish Over SSH 通过ssh连接远程服务器,并能执行脚本部署项目 安装publish-over-ssh 在“系统管理” -> “系统设置“ -> “Publish over SSH” 中配置对应的ssh信息 Key中填登录远程服务器的密码(ssh免密码登录) 点击"SSH Servers"后的“增加”按钮,新增一个远程服务器 点开“高级…”按钮,能进一步的配置端口等信息。 配置为Server信息后,点击"Test Configuration"按钮测试是否能够连接成功。 ssh配置 监测代码变动自动部署 点击左侧边栏的“新建”按钮,新建一个任务。 填写项目的名称,并选择一种构建的方式,此时我们选择第一个,构建一个自由风格的软件项目,然后点击“OK”按钮创建任务,并进行详细的配置 新建任务 默认设置里填写项目名和描述,并选择之前配置好的要连接的gitlab 默认配置 配置源码,填写要构建项目的源码仓库地址,并指定要构建的分支 配置源码 配置触发器,选择触发构建的方式,可以通过hook,根据jenkins提供的地址,放到gitlab中的hook配置中,就会自动触发构建。此时我们选择的是定时检测项目变动,如果检测到分支有新的变动就触发构建,如果感觉一分钟时间太频繁的话,可以自己设置时间频率。 构建触发器 […]

龙生   08 Aug 2018
View Details

批处理设置b等于一个变量数字%a%+1的数字咋写?

@echo off set a=10 set/a b=a+1 echo %b% pause :: 批处理运算的时候是使用 set/a 参数 :: 在set/a运算的时候,变量可不用使用%%括起来 :: 如: set/a b=a+1 等价于 set/a b=%a%+1 :: 中国批处理脚本联盟 from:https://zhidao.baidu.com/question/1433860877199267859.html

龙生   08 Aug 2018
View Details
1 183 184 185 415