curl只能抓取页面的部分内容的原因

今天弄个小东西的时候,发现file_get_contents回来的一大串JSON并不完整,在6KB左右的地方断开了,然后用浏览器打开那个地址,却是可以访问。。。
命令行下curl,结果是这样的:
=20150723233044

curl: (18) transfer closed with outstanding read data remaining

这个情况之前工作也偶有出现,但是没有深入考究过原因。。今天百度了一下。贴出来。

Read more

PHP multipart/form-data 远程DOS漏洞

PHP解析multipart/form-datahttp请求的body part请求头时,重复拷贝字符串导致DOS。远程攻击者通过发送恶意构造的multipart/form-data请求,导致服务器CPU资源被耗尽,从而远程DOS服务器。
影响范围:

PHP所有版本

0x01 漏洞入口

PHP源码中main/ rfc1867.c负责解析multipart/form-data协议,DOS漏洞出现在main/rfc46675pxultipart_buffer_headers函数。
在详细分析漏洞函数前,先分析进入漏洞函数的路径。PHP解析multipart/form-data http请求体的入口函数在SAPI_POST_HANDLER_FUNC(rfc1867.c中的函数),代码如下。

Read more

why ubuntu

由于长期在ubuntu下进行编码工作,对此系统产生了一定的习惯甚至依赖。
为什么偏好这个系统?
1,桌面稳定
2,社区活跃
3,依赖包完整
4,应用丰富
5,装逼
对于一个php开发人员,不用考虑什么centos redhat的了。
看看我是怎么安装一个默认的lnmp的。

OK。安装完毕。
至于其他人说的什么centos稳定什么的,个人感觉很大程度上是偏见,或者说,你他妈懒得换系统了吧。
如果你也是php的开发人员。不妨试试。
神马?你还要其他扩展?
试试这些够不够:

memcache redis服务器什么的均可一命令安装。gogogo。自己慢慢玩玩吧

在PNG的IDAT chunks中插入WebShell

If you carefully encode a web shell in an image you can bypass server-side filters and seemingly make shells materialize out of nowhere(and I’m not talking about encoding data in comments or metadata) – this post will show you how it’s possible to write PHP shells into PNG IDAT chunks using only GD.

Exploiting a server misconfiguration or Local File Inclusion can be tricky if you cannot write code to the file system – In the past applications that allow image uploads have provided a limited way to upload code to the server via metadata or malformed images. Quite often however images are resized, rotated, stripped of their metadata or encoded into other file formats effectively destroying the web shell payload.

Read more

phpcms v9采集模块一个小bug

phpcms v9自带了采集模块。
这个玩意体验真是烂得可以。不仅没有使用文档,用法全靠摸索,各种超时,502,504,烦不胜烦。
但是如果不使用它,手写采集的步骤也比较繁琐:下载图片/插入附件表/点击表/文章表/详情表/修改分类条数。
当然。。。我试过手写采集模块。但是长期使用的情况下,还是宁愿修改一下自带的采集了。
这不。终于看到了自带采集的一个小bug。

Read more

TSRC挑战赛: PHP场景中getshell防御思路分享

博文作者:pandas
发布日期:2014-07-23

1    背景概述

WEB应用漏洞导致的入侵时有发生,扫描器和WAF并不能解决所有的问题,于是尝试在主机侧针对PHP环境做了一个防御方案。很荣幸的邀请到TSRC部分白帽子做了一次对抗演习,本文主要分享一下防御思路。

防御方案主要想解决的问题是getshell、主机敏感文件泄漏等问题。于是乎出了下面这样一个题目:部署了防御方案的Nginx + PHP 的WEB环境,提供一个上传入口,可上传任意文件。找到WEB目录下的一个flag文件读取到内容即算突破。

Read more

利用MYSQL位运算实现一对多数据关系

当我们在设计数据库的数据表时,经常会遇到一对多的数据结构,如文章的tag等,比如本人之前在设计手机app的后端的时候,就碰到了这个问题,

当时涉及中小学教材的诗歌诗歌表(poetry)和出版社表(poetry_press),因为一首诗可能会涉及多个出版社,而且出版社的数量并不是很多。为了便于搜索,如果把所有出版社的ID用分隔符组合成一个字符串肯定不符合要求。所以一般都是单独使用一个表来存储他们的对应关系,每次修改的时候,还必须先清除所有的对应数据,然后重新插入,非常麻烦,为了保证数据的一致性,还必须用事物。很显然,对于关联数据种类很少的情况下,这两种方法都不好。

Read more