首页 > 代码库 > php审计学习:xdcms2.0.8注入

php审计学习:xdcms2.0.8注入

注入点Fields:

注册页面会引用如下方法:

技术分享

 

$fields 变量是从 $fields=$_POST[‘fields‘]; 这里获取, 在代码里没有过滤。

打印 fields 数据查看:

技术分享

技术分享

 

从代码上看

$field_sql.=",`{$k}`=‘{$f_value}‘";

最终会变成:

 ,`truename`=‘111111‘,`email`=‘12345‘

因为 $field_sql 最终会引入 一个 update语句:

技术分享

 

可以打印一下看看:

技术分享

 

最后在 truename或email位置报错注入即可:

技术分享

 

注入点username:

 

关于用户名位置, 代码用了下面的函数过滤:

技术分享

 

 

再看看 safe_html函数:

技术分享

正则匹配到关键字后直接运行    showmsg函数:

技术分享

 

 

看样子这个函数只是正则匹配后提示信息的作用, 并未能过滤注入:

 

技术分享

 

php审计学习:xdcms2.0.8注入