admin 管理员组文章数量: 1086019
2024年4月29日发(作者:下载游戏)
AWVSAcuSensor功能分析
Auth:Cryin’
Date:2016.05.08
AcuSensor
AcuSensor是AcunetixWebVulnerabilityScanner推出的基于交互式应用安全检测(IAST)
技术的Web漏洞扫描功能,目前支持.net、php两种语言站点,根据目标站点可以分别配置
生成agent端。
其中.net程序的agent端是一个客户端setup程序,需要在web服务器上安装并配置iis、
站点目录等。
php程序的agent是一个php文件(配置生存的php代码经过混淆),php文件需要上传至web
服务器并配置文件auto_prepend_file字段,该字段功能是将该php文件加入网站
文件页眉中。
agent原理及实现分析
AcuSensor的agent主要作用是对php关键函数SQL_Query、File_Open、Sys_Command、
Create_Function、Delete_File等进行监控。当这些函数执行将参数及相关信息echo到
responsebody中供扫描器分析。Agent代码功能及流程如下:
1、判断httpheader字段是否存在及密码正确性,从而执行agent,直接访问agent页面
返回404;
2、根据Acunetix-Aspect-Queries字段判断特定任务类型:aspectalerts、filelist两种,
无Acunetix-Aspect-Queries则执行一般的IAST任务:
1)aspectalerts:phpconfig信息等
2)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_00000018/hj/var/www//produ
00000001s0000001A"require_once"wascalled.
其中00000010为16进制,表示后面数据的长度,该串数字后可能出现""、"s"、"n"、"a",
分别标识16进制数后面的数据是string、null、array类型。
AcuSensor漏洞检测原理
SQLinjection漏洞实例
AcuSensor在扫描到sql注入时会根据Agent返回的信息判断漏洞是否真实存在,如真实存
在则标注verified,并给出具体漏洞php文件、漏洞产生的对应代码行数
SQLinjection漏洞数据包分析
Agent将监控到的漏洞信息通过base64编码返回到相应消息中,扫描器获取数AcuSensor
据得到漏洞详细信息。如图:
版权声明:本文标题:AWVS AcuSensor功能分析 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1714394689a678355.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论