[代码审计]web程序对客户端数据加解密带来的安全问题

Yaseng 2013-08-19 11:26:00

0x00 前言


对于一个完善系统而言,无论是桌面还是web程序, 都会使用客户端保存数据如cookie,db文件等。为了不让外部获取或者控制,系统会对数据进行私有加密 例如qq密码,聊天记录,web程序中用户信息等。而对于开源程序而言,算法是公开的,对数据的加密只有依靠key来保护数据 ,一旦数据可控就可能造成某些安全问题,本文探讨web开源程序中对私有数据的使代码的安全性问题。

0x01 直捣黄龙:key可知


某些加密key可推算抑或可爆破情况下,私有数据数据完全可控,根据实际环境sql注入,xss,越权等攻击。

例如:

WooYun: Espcms v5.6 暴力注入

WooYun: dedecms sql injection

PHPCMS V9 sys_auth()设计缺陷导致多个SQL注入漏洞

0x02  隔山打牛:key不可知


为了数据和代码的统一,一套系统中数据的加密解密key一般是通用的,我们可以利用程序的某些功能来生成加密之后的数据,从而控制程序的私有数据,进行攻击。

类似的案例如:

WooYun: PHPCMS最新版(V9)SQL注入一枚

WooYun: espcms 二次注入一枚

WooYun: Espcms加密函数缺陷导致getshell

0x03 总结


当变量能控时,一切数据都是危险的,程序除了对输入输出的数据做严格过滤之外,对内部私有数据也要相应的过滤。

评论

瞌睡龙 2013-08-19 11:29:39

总结的不错~!就是略显简短了点 :)

X

xsser 2013-08-19 19:50:15

好短

E

erevus 2013-08-20 15:00:53

成正比的...嘿嘿嘿

P

possible 2013-08-28 09:49:24

都不用滚动条 真好

随机分类

XSS 文章:34 篇
MongoDB安全 文章:3 篇
神器分享 文章:71 篇
木马与病毒 文章:125 篇
PHP安全 文章:45 篇

扫码关注公众号

WeChat Offical Account QRCode

最新评论

Yukong

🐮皮

H

HHHeey

好的,谢谢师傅的解答

Article_kelp

a类中的变量secret_class_var = "secret"是在merge

H

HHHeey

secret_var = 1 def test(): pass

H

hgsmonkey

tql!!!

目录