xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
Xcon English Version

xsidt-0_1_beta1.tar.gz


提交时间:2006-02-16
提交用户:alert7
工具分类:其它工具
运行平台:Unix/Linux
工具大小:706785 Bytes
文件MD5 :197aa78cb23a24f52b1d73308e89a61e
工具来源:http://www.xfocus.org

X-SIDT V0.1技术白皮书

2005-11-08 by alert7
草稿

内容目录
1 x-SIDT是什么    1
2 为什么要编写x-SIDT    1
3 X-SIDT实现原理    1
4 X-SIDT现支持系统    2
5 X-SIDT安装说明    2
5.1 编译x-SIDT    2
5.2 保护apache + php + mysql的php论坛    2
6 X-SIDT配置文件说明    3



X-SIDT是什么
    x-SIDT 的英文Sql Inject Defense Tool的缩写(x-SIDT 念 x-[sit]),从它的英文名称上我们也可以看到它是一个SQL注射的防御工具。
为什么要编写x-SIDT
    Sql inject问题发展到现在,已经成为WEB应用的最大安全问题。现在管理员谈起Sql注射就色变,实在头疼。Google下“sql注入”或者“sql注射”就知道其危害的严重程度。随着WEB技术的广泛应用,毫不夸张的说,现在的网络攻击事件,80%是来自WEB的,而WEB上的攻击80%是针对Sql注射的(以上观点属于个人观点,并没有实际的调查分析,你可以不信^_^ )。X-SIDT的出现,就是在试图减少针对SQl注射的攻击事件,能大大增强系统对Sql 注射的免疫能力,大大降低安全风险。

X-SIDT实现原理




X-SIDT现支持系统
    X-SIDT目前版本为0.1,只支持*unix下的mysql数据库
    支持perl兼容的正则表达式

X-SIDT安装说明
编译x-SIDT
0:./configure
1: make
2: sudo make install
注意,x-SIDT需要libpcre库,出于安全原因,x-SIDT会检查系统的libpcre是否>=6.2,假如小于6.2的话,make的时候会警告
check-sql.c:18:3: warning: #warning your pcre library < 6.2 ,please update it for security reason. see www.securityfocus.com/bid/14620

保护apache + php + mysql的php论坛
问:    我想让让我们的x-SIDT保护apache + php + mysql的论坛该怎么做?
答:    Apache和mysql的安装跟普通一样,关键是在php上,请确保编译configure php的时    候./configure ....  --with-mysql=/usr/lib/mysql/
    注意:目前x-SIDT不支持编译php的时候使用—without-mysql的情况

    让apachectl启动的时候加载我们的x-SIDT
    在apache的启动脚本apachectl的开始处(第二行开始,第一行为#!/bin/sh为标识解释    器)里export LD_PRELOAD=/usr/lib/x-SIDT.so

    OK,经过如上操作,您的论坛就有了sql注射的防御功能了。当然要想更好的防御sql    注射,您可能需要看下配置文件/etc/x-sidt.conf

X-SIDT配置文件说明

目前的配置文件相对比较简单
格式如下
#注释
x-sidt-filter pattern="/exec(\s|\+)+(s|x)p\w+/ix" deny log

x-sidt-filter字段表明了该行规则为过虑器,目前只支持这一种
pattern=”xxxx”表示为是正则表达式,xxxx就是perl兼容的正则表达式。为x-sidt-filter中的第二个字段。
X-sidt-filter中的第三个字段为deny或者allow,表示当匹配到的后是采取拒绝行为还是允许行为。
X-sidt-filter中的第四个字段为log或者nolog,表示当匹配到的后是记录日志还是不记录日志。

#是否为调试模式,调试模式会把所有的sql查询都记录到文件里
debug 1

>> 下载 <<