D-Link DSL-2640B 固件漏洞分析
/bin/cfm 是整个系统服务的核心程序
主函数启动过程
由init函数完成初始化过程
g_fnInitialize 保存了一系列 init 函数
BcmWs_Init 关于 Web的初始化过程
webmain函数负责web服务器 ,初始部分做了许多有关socket的控制,直接看对http请求的处理过程
这部分处理了http头
几处限制,不准进行目录穿越
这部分代码依据请求文件后缀,分发处理函数
web句柄数据结构 可以理解为
struct handler{
DWORD mime_type_str
DWORD resp_type_str
DWORD handler_function
DWORD auth_function
}
认证流程
检查认证包含两个过程,先调用libpsi外部函数获取保存的凭证,再和提供的凭证作比较