WP插件wp-ulike授权SQL注入
直接看到wp-ulike/admin/logs.php:
首先代码中利用add_action
将方法wp_ulike_logs_process
注册进了事件wp_ajax_ulikelogs
,在wordpress中以wp_ajax_
为前缀的事件需要有后台登录权限,即目标需开启后台登陆及注册功能。另外,如果是以wp_ajax_nopriv_
为前缀的事件,就无需任何权限了。
看到该方法中的的$table
用户可控,和$wpdb->prefix
拼接为我们的数据表名,传入数据删除操作delelte(
,我们跟进wordpress查看相关代码,wp-includes/wp-db.php
在wordpress中,增删改操作会对传入的数据库进行一些处理,继续跟进process_fields
方法查看
由于这里的$format
为null
,所以process_field_formats
并没有做什么操作,继续跟进process_field_charsets
继续往get_col_charset
跟
继续往get_table_charset
跟
这里带入的语句是show full columns from {sqli}
,查看一下文档会发现该语句后面是可以跟where的
验证一下这个时间型的盲注
最后
由于最后一步对$table以.
分割处理,跨库查询就别想了,所以只能注一下wp_users
,加上需要后台权限,十分鸡肋
在之后的版本中,注入点虽然仍然在,但是触发事件函数时,会校检nonce,导致压根儿无法利用