安全相关

妙用CSS解决网页被script挂马

Posted in 安全相关 on 8月 22nd, 2009 by 飘(piao2010) – Be the first to comment

现在流行挂script木马的src一般都是外域的,也就是src是以http打头的,如果是自己网站的script一般都不用加上http;再看看木马的原形,里面还是输出的iframe、JS代码或是其他<object>代码,不管这么多,来多少杀多少。

来跟我写CSS,一一搞定它们,我写了5种不同的方案,大家来测试一下哈:

解决方案1:

iframe{n1ifm:expression(this.src=’about:blank’,this.outerHTML=”);}/*这行代码是解决挂IFRAME木马的哦*/
script{nojs1:expression((this.src.toLowerCase().indexOf(’http’)==0)?document.write(’木马被成功隔离!’):”);}

原理:将<script>标记的src拿出来转为小写,再看是不是以“http”开头的外域JS脚本文件,如果是,则页面内容清空并写出“木马被成功隔离!”。反之正常显示。 read more »

利用Tripwire检测系统完整性

Posted in FreeBSD, Linux, 安全相关 on 8月 18th, 2009 by 飘(piao2010) – 4 Comments

文章是转载的,原作者不明,是网络上比较详细的tripwire参考资料了,希望对大家有用。

完整性是安全要求的基本要求之一,本文将向读者详细介绍如何利用开源完整性检测工具Tripwire来检查系统的完整性。

一、系统的完整性

我们知道,系统的正常运行要靠系统程序的正常运转,而程序的运行又与其可执行文件休戚相关。所以,维护系统完整性是确保系统安全的一项基本工作。我们这里的系统完整性是指系统中可执行文件的完整性,也就是说系统中的程序文件没被非法修改。

如果可执行文件被恶意修改的话,如改变、插入或删除等,将直接威胁到系统的安全性。大多数情况下,黑客渗入到系统后会立即修改某些系统文件以创建后门,如用准备好的替代物换掉系统中原有的/bin/login文件以便使其不用口令便能登陆系统;然后再修改某些文件,例如/bin/ls等,以便隐藏其行径。如果我们没能发现这些改变的话,那无异于身处险境却还以为很安全,这就为黑客的长期入侵提供了非常有利的条件,同时也意味着我们的损失将更大!为了改变这种被动的局面,我们需要一种文件完整性检查工具,使得当系统文件被恶意修改后能及时发现,从而为进一步处理创造条件。

二、Tripwire概述

Tripwire的运行机理

Tripwire是一款最为常用的开放源码的完整性检查工具,它生成目标文件的校验和并周期性的检查文件是否被更改。下面我们简单介绍一下Tripwire的运行机理。与大多数完整性检查程序相同,对于需要监视的文件,Tripwire会使用校验和来为文件的某个状态生成唯一的标识(又称为”快照”),并将其存放起来以备后用。当Tripwire程序运行时,它先计算新的标识,并于存放的原标识加以比较,如果发现不匹配的话,它就报告系统管理人员文件已经被修改。接下来,系统管理员就可以利用这个不匹配来判断系统是否遭到了入侵。例如,如果Tripwire已经为/bin/login和/bin/ls存放了快照,那么对它们的尺寸、inode号、权限以及其他属性的任何修改,都逃不过Tripwire的火眼金睛。尤其是对于文件内容的修改,即使只改变了一个字节,Tripwire也能察觉得到, read more »

PHP实现获取客户端IP地址以及IP地址的伪造

Posted in code, 安全相关 on 8月 17th, 2009 by 飘(piao2010) – 2 Comments

以下是目前网上比较常用的获取客户端IP地址的方法

<?php 
function get_ip_address() { 
    if (isset($_SERVER)) { 
      if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; 
      } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { 
        $ip = $_SERVER['HTTP_CLIENT_IP']; 
      } else { 
        $ip = $_SERVER['REMOTE_ADDR']; 
      } 
    } else { //iis不支持getenv
      if (getenv('HTTP_X_FORWARDED_FOR')) { 
        $ip = getenv('HTTP_X_FORWARDED_FOR'); 
      } elseif (getenv('HTTP_CLIENT_IP')) { 
        $ip = getenv('HTTP_CLIENT_IP'); 
      } else { 
        $ip = getenv('REMOTE_ADDR'); 
      } 
    } 
    return $ip; 
} 
echo get_ip_address(); 
?>

read more »

继续发掘worldpress插件shortstat XSS漏洞

Posted in 安全相关 on 8月 13th, 2009 by 飘(piao2010) – Be the first to comment

转载请保留版权,http://piao2010.com 谢谢!
昨天吃坏肚子了,今天请假没去上班。无聊之余突然想到上次的shortstat XSS漏洞,虽然只是偶然事件,但有没可能使之变成必然呢?
大致浏览了一下插件的源代码,发现其中还是存在不少问题的,上次我只是过滤了Keyword部分,其实如果说我们可以伪造HTTP请求的话应该还有很多参数可以利用。于是写了一段代码测试: read more »

关于php的magic_quotes_gpc

Posted in code, 安全相关 on 8月 8th, 2009 by 飘(piao2010) – 2 Comments

今天暂时没有任务,偷偷关注一下安全方面的东东。上午回味了一下安全天使的两篇经典文章
http://www.4ngel.net/article/36.htm
http://www.4ngel.net/article/30.htm
总结出两点:
1。无论如何(即使magic_quotes_gpc=On还是可以采用char()等函数进行注射)数字型变量(SQL语句中没有用引号包围的变量)一定要进行过滤,常用intval()函数处理, read more »

worldpress插件shortstat XSS (0day)

Posted in 0day, 安全相关 on 7月 28th, 2009 by 飘(piao2010) – 3 Comments

转载请保留版权,http://piao2010.com 谢谢! WP-ShortStat是一个不错的WordPress访问统计插件,可以在WordPress的管理界面中显示简单的访问统计信息。 发现这个漏洞其实很意外,今天早上打开博客shortstat的时候突然弹出窗口,应该是alert/xss/造成的。难道被黑了?查看了一下源文件,发现

<a title="/tags/xss/" rel="nofollow" href="http://www.google.cn/search?hl=zh-CN&amp;q=%3Cimg+src%3D%22%23%22+onerror%3Dalert%28%2Fxss%2F%29%3E&amp;btnG=Google+%E6%90%9C%E7%B4%A2&amp;aq=f&amp;oq="><img src="#" alt="" /></a>

,打开链接发现是有人在Google中搜索<img src=”#” alt=”" />

关键词然后进入我的博客, read more »

巧妙绕过防注入系统

Posted in 安全相关 on 7月 14th, 2009 by 飘(piao2010) – Be the first to comment

1、运用编码技术绕过
如URLEncode编码,ASCII编码绕过。例如or 1=1即%6f%72%20%31%3d%31,而Test也可以为CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)。

2、通过空格绕过
如两个空格代替一个空格,用Tab代替空格等,或者删除所有空格,如
or’ swords’ =‘swords’,由于mssql的松散性,我们可以把or ’swords’ 之间的空格去掉,并不影响运行。

3、运用字符串判断代替
用经典的or 1=1判断绕过,如or ’swords’ =’swords’,这个方法就是网上在讨论的。

4、通过类型转换修饰符N绕过
可以说这是一个不错的想法,他除了能在某种程度上绕过限制,而且还有别的作用,大家自己好好想想吧。关于利用,如or ’swords’ = N’ swords’ ,大写的N告诉mssql server 字符串作为nvarchar类型,它起到类型转换的作用,并不影响注射语句本身,但是可以避过基于知识的模式匹配IDS。 read more »

基于超时的MSSQL盲目注入

Posted in 安全相关 on 7月 6th, 2009 by 飘(piao2010) – 3 Comments

作者:night

假设有这么一个文件,无论你怎么注入它页面内容都一样。但是他代码却确实存在注入点。
select * from table where columnid = $input_id
通过文件返回错误来注入是绝对不可能的。因为他页面内容始终一样。这样的漏洞页面绝对有的。
自己可以构造出来。

这时候我们怎么注入列?
我们用 基于时间的盲目注入。

先看两条语句:

select * from sysobjects where id=1 and (SELECT count(*) FROM syscolumns AS sys1,
syscolumns as sys2,syscolumns AS sys3,syscolumns AS sys4,syscolumns AS sys5,syscolumns AS sys6)>0
and 1=1

select * from sysobjects where id=1 and (SELECT count(*) FROM syscolumns AS sys1,
syscolumns as sys2,syscolumns AS sys3,syscolumns AS sys4,syscolumns AS sys5,syscolumns AS sys6)>0
and 1=2

第一条语句绝对超时,网页在半小时内应该不会返回结果,第二条马上就返回结果。
如果你测试结果跟我说的有出入,那么你就把
syscolumns as sys2,syscolumns AS sys3,syscolumns AS sys4,syscolumns AS sys5,syscolumns AS sys6
换成
syscolumns as sys2,syscolumns AS sys3,syscolumns AS sys4,syscolumns AS sys5,syscolumns AS sys6…..syscolumns AS sys100
一共100个,还不超时你的电脑就是外星的了。 read more »


无觅相关文章插件,快速提升流量