利用数据库trigger对安全进行监控
xsser (十根阳具有长短!!) | 2013-12-02 11:34
最近帮一个朋友看他们的网站安全问题,他们非常担心系统中的数据被篡改,因为一旦篡改可能就别人兑换东西或者套现走了就会造成损失,而最典型的修改一般都是利用事务性不一致和一些数据库中的溢出等错误和直接获取权限后update数据库
mysql> delimiter // mysql> CREATE TRIGGER security BEFORE UPDATE ON account -> FOR EACH ROW -> BEGIN -> IF NEW.money > 100000 THEN -> xxxxxxxxxxx -> END IF; -> END;// mysql> delimiter ;
这样对于系统中比较敏感的数据变化我们就能得到一个时间,而有了时间才可以配合系统中的各种log分析出真正的原因
相关讨论:
1#
safe121 (码字中,出PDF书 ||| 要想人不知,You must shut the fuck up!!!) | 2013-12-02 11:38
思路不错,WB是不是就这么给防御了
2#
xsser (十根阳具有长短!!) | 2013-12-02 11:41
@safe121 wb的思路不是这样,实际上系统中不存在wb这个概念,所有的wb都是一系列操作的和,譬如你发一个漏洞得到了10个wb,然后感谢了1个wb,那么实际上你的wb是(10-1)个,这个是系统固定时间计算一次的,如果发现wb没有对应的来源就会出错
3#
RedFree (。器神的己自是才己自,了现发才) | 2013-12-02 11:59
不错的监控手段,但是这样会不会影响到系统的性能呢?
4#
xsser (十根阳具有长短!!) | 2013-12-02 12:07
@RedFree 性能方面没有评估,这是从安全出发的 :)
5#
小胖子 (流泪撒种的,必欢呼收割。) | 2013-12-02 12:10
@xsser 那要是修改某个漏洞在数据库中的rank成9999呢。
6#
xsser (十根阳具有长短!!) | 2013-12-02 12:13
@小胖子 额...
7#
RedFree (。器神的己自是才己自,了现发才) | 2013-12-02 12:17
@小胖子
Select ID,UID,Title,RANK From VULN Where Rank>20 ->1 小胖子 Wooyun可恶意刷Rank漏洞 9999
小胖子你侧漏了!
8#
小胖子 (流泪撒种的,必欢呼收割。) | 2013-12-02 12:32
@RedFree 用苏菲,整夜干爽。
9#
摸了你 | 2013-12-02 12:46
@xsser 有了权限,你的trigger不也可以改!
10#
xsser (十根阳具有长短!!) | 2013-12-02 13:06
@摸了你 trigger需要root权限
11#
loopx9 | 2013-12-02 14:33
NEW.money?不在一个表?
12#
xsjswt | 2013-12-02 14:40
我以前是拿trigger刘后门
13#
insight-labs (Root Yourself in Success) | 2013-12-02 15:03
@xsser
没,有trigger权限也行
14#
l4mbda | 2013-12-02 16:39
CREATE TRIGGER security BEFORE UPDATE ON account -> FOR EACH ROW -> BEGIN -> IF new.title='0xshell' and new.username='xxx' THEN -> select 0xxxx into outfile 'xxxx'; -> END IF; -> END;// mysql> delimiter ;
是酱紫吗~_~
15#
核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2013-12-02 16:39
阅
16#
clzzy (哥寂寞~) | 2013-12-02 16:47
@xsser 一大部分xx彩网站也是审计来源,对于直接update的行为,都会报警,所以呢,“伪造记录”这个方法就诞生了~~
17#
xsser (十根阳具有长短!!) | 2013-12-02 16:49
@clzzy 什么意思 求详细内容
18#
clzzy (哥寂寞~) | 2013-12-02 16:51
@xsser 先告诉我你是不是成都的