1、针对C/S通信渗透测试技术探讨启明星辰-邓景云引言渗透测试目前比较多的渗透测试服务皆针对B/S架构系统实际问题怎么测试C/S系统?对于C/S类系统主要依靠漏洞扫描系统实现已知缺陷的检查;特殊C/S应用?FUZZing可以通过模糊测试(Fuzzing)技术实现对C/S系统的安全检查;fuzzing向应用程序发送半随机数据;半随机数据:让程序”看起来”象有效数据,又足以使应用程序堵塞测试向量;观察对象的处理情况与返回结果,以确认缺陷的存在性、危害性以及利用手段。fuzzing当说道模糊测试时,首先想到http;其实还有很多可以做fuzzing的对象:网络协议;文件格式;浏览器、active;甚至是
2、syscalls、环境变量;。一次简单的测试演示如何做的定义测试目标;定义输入;生成fuzzing测试向量;循环发送测试向量;监控异常;确认漏洞;Fuzzer组成模块输入模块穷举模块异常判断模块Cmd=命令行?网络=套接字?文件=特殊文件头?缓冲区溢出?格式溢出?整形溢出?执行失败?Connection?外挂?Fuzzer例一 输入模块 穷举模块 异常判断模块 穷举模块输入模块为模糊方式发掘存在的风险提供输入手段。命令行:system()、exec()类型;套接字;高层封装库;穷举模块L00p!输入内容(测试向量)主要包括:特殊长度;特殊字符;整形或其它内容。异常判断模块用于监视待测试对象是运作情况。本地层面:命令行返回:system()、exec()类型;进程运行状态;网络层面:套接字的connet()、send()、recv()等;高层封装库返回值;Fuzzing 框架SulleySpike。Testfuzzer,我们的测试框架其他Sql注入、XSS和httpfuzzing的关系Wvs、webinspect、appscan。其他难点-测试向量缓冲区溢出格式溢出整形溢出目录遍历来自owasp的应用测试向量。?其他难点-如何让测试对象”看到的”数据更像真实数据?熟习测试对象协议分析文件头分析数据预处理。?谢谢