参考:https://xz.aliyun.com/t/2330
https://cryin.github.io/blog/CVE-2018-1260%20spring-security-oauth2%20RCE%20Analysis/
初始化:先根据https://github.com/wanghongfei/spring-security-oauth2-example 将内容保存为init.sql
文件,然后启动mysql:参考https://blog.csdn.net/caiqiiqi/article/details/89642032
然后载入sql脚本:
mysql -h127.0.0.1 -P3306 -uroot -p987654
mysql> source /Users/caiqiqi/repos/spring-security-oauth2-example/init.sql;
然后需要插入一条数据:
mysql> insert into oauth_client_details(client_id, resource_ids, client_secret, scope, authorized_grant_types, web_server_redirect_uri, authorities, access_token_validity, refresh_token_validity, additional_information, autoapprove) values('client', NULL, 'secret', 'app', 'authorization_code', 'http://www.baidu.com', NULL, NULL, NULL, NULL, NULL);
限制条件
由于Application中有一个设置scopes的地方。如果设置了白名单,则无法利用(其实大部分都设置了都,这样利用面就比较小了)。除非这个scopes没有设置,这样才能利用。
据说条件比较苛刻,就不继续复现了。