SQL注入漏洞分析2

时间:2024-10-29 06:58:00
在这里插入图片描述
数据库连接软件连接,导入根目录下cati.sql文件
在这里插入图片描述
访问到就ok
在这里插入图片描述
漏洞复现
在这里插入图片描述
漏洞分析
根据漏洞简介,最终在pollers.php文件第427行发现可疑点,很明显的sql拼接
在这里插入图片描述
寻找一下poller_host_duplicate方法的调用处,在该文件中只有一处位于form_save方法的321行调用到
在这里插入图片描述
继续寻找发现在action参数为save时,form_save方法会被调用到
在这里插入图片描述
现在的调用链就很清楚了
action=“save”–>from_save()–>poller_host_duplicate()–>sql注入
可以看到 h o s t 变量的值由 f o r m s a v e 方法 host变量的值由 form_save方法 host变量的值由formsave方法save[‘dbhost’]传递,通过form_input_validate(get_nfilter_request_var(‘dbhost’), ‘dbhost’, ‘’, true, 3)来获取
在这里插入图片描述
在这里插入图片描述
在get_nfilter_request_var方法用来获取请求中dbhost变量的值
在这里插入图片描述
在form_input_validate方法中也没有对sql注入的防范,以至于$save[‘dbhost’]就是用户输入的值
在这里插入图片描述
总结
关键的两个参数dbhost和action,dbhost参数是注入点,action的值需要为save