Wordpress_Plugin_SinglePersonalMessage1.0.3 sql injection

1 | # Exploit Title: Single Personal Message 1.0.3 – Plugin WordPress – Sql Injection |
0X01 代码分析
好不容易从github上找了份有漏洞的版本
目录结构如图
既然是注入就从交互点下手,搜索sql语句,顺着目录挨个寻找
从外到内寻找交互的地方,在admin/class-simple-personal-message-admin.php
发现了几十处,例如下面这种
1 | $user_login = esc_sql(wp_get_current_user()->user_login); |
然而这个里面所有的都用esc_sql
过滤了
继续往里层查找,在admin/partials/simple-personal-message-admin-view.php
发现
1 | <?php |
可以很明显的看到
1 | $id = esc_attr($_GET['message']); |
message
没有经过过滤就拼接到sql语句中了
0x02 证明
正常状态下
拼接一下message
参数
http://localhost/wordpress/wp-admin/admin.php?page=simple-personal-message-outbox&action=view&message=1%20UNION%20SELECT%201,2.3,4,5,user(),7,8,9,10,11,12%20FROM%20wp_terms%20WHERE%20term_id=1
- Post title:Wordpress_Plugin_SinglePersonalMessage1.0.3 sql injection
- Post author:langu_xyz
- Create time:2016-10-27 21:00:00
- Post link:https://blog.langu.xyz/Wordpress_Plugin_SinglePersonalMessage1.0.3 sql injection/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.