设为首页 - 加入收藏 - 网站地图 SecYe安全 Www.SecYe.Com - 国内网络信息安全IT技术门户网
当前位置:SecYe > 网络安全 > 嗅探扫描 > 正文

AWVS AcuSensor功能分析

时间:2017-02-24 12:11 来源:本站整理 作者:SecYe安全 阅读:

AcuSensor是Acunetix Web Vulnerability Scanner推出的基于交互式应用安全检测(IAST)技术的Web漏洞扫描功能,目前支持.net、php两种语言站点,根据目标站点可以分别配置生成agent端。

其中.net程序的agent端是一个客户端setup程序,需要在web服务器上安装并配置iis、站点目录等。

php程序的agent是一个php文件(配置生存的php代码经过混淆),php文件需要上传至web服务器并配置php.ini文件auto_prepend_file字段,该字段功能是将该php文件加入网站文件页眉中。

agent原理及实现分析

AcuSensor的agent主要作用是对php关键函数SQL_Query、File_Open、Sys_Command、Create_Function、Delete_File等进行监控。当这些函数执行将参数及相关信息echo到response body中供扫描器分析。Agent代码功能及流程如下:

1、判断http header字段是否存在及密码正确性,从而执行agent,直接访问agent页面返回404;

2、根据Acunetix-Aspect-Queries字段判断特定任务类型:aspectalerts、filelist两种,无Acunetix-Aspect-Queries则执行一般的IAST任务:

aspectalerts:php config信息等

filelist:该页面文件所在目录的所有的文件列表信息

3、判断HTTP_ACUNETIX_ASPECT状态是否为enable,并检查HTTP_ACUNETIX_ASPECT_PASSWORD字段是否和预设password相同。password编码后保存在agent文件末尾;

4、使用set_error_handler函数设置一个用户定义的错误处理函数。根据不同的错误类型在响应内容中echo错误信息:

5、使用token_get_all将访问的php文件源代码进行解析,对class、函数、参数、注释、T_VARIABLE等各种字段进行处理并保存在临时文件当中;

6、对于临时文件中需要监控的函数则替换为自定义函数,自定义函数中再调用监控函数。然后执行临时php文件;

7、 使用debug_backtrace跟踪php程序执行的bug信息,获取当前函数、class、args、object、line、file信息,如图:

8、对于返回的信息进行格式化,如: 00000010PHP_File_Includes00000014database_connect.php00000018/hj/var/www//product.php00000001s0000001A"require_once" was called. 其中00000010为16进制,表示后面数据的长度,该串数字后可能出现""、"s"、"n"、"a",分别标识16进制数后面的数据是string、null、array类型。

AcuSensor 漏洞检测原理

SQL injection漏洞实例

AcuSensor在扫描到sql注入时会根据Agent返回的信息判断漏洞是否真实存在,如真实存在则标注verified,并给出具体漏洞php文件、漏洞产生的对应代码行数

SQL injection漏洞数据包分析

AcuSensor Agent将监控到的漏洞信息通过base64编码返回到相应消息中,扫描器获取数据得到漏洞详细信息。如图:

 

来源:http://cryin.startblog.cc/Articles/article/41

本文来源:SecYe安全网[http://www.secye.com] (责任编辑:SecYe安全)

点击复制链接 与好友分享!

顶一下
(0)
0%
踩一下
(0)
0%