{"id":20992520,"url":"https://github.com/giovanni-iannaccone/jinjector","last_synced_at":"2025-07-27T00:39:02.678Z","repository":{"id":261478132,"uuid":"882614676","full_name":"giovanni-iannaccone/Jinjector","owner":"giovanni-iannaccone","description":"Joomla modules backdoor injector 🚪","archived":false,"fork":false,"pushed_at":"2025-05-18T16:31:08.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-18T17:30:19.050Z","etag":null,"topics":["backdoor","golang","golang-hacking","hacking","injection","injector","joomla","joomla-hacking","joomla-module","php-backdoor"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/giovanni-iannaccone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-11-03T09:38:59.000Z","updated_at":"2025-05-18T16:31:11.000Z","dependencies_parsed_at":"2024-11-06T19:39:02.900Z","dependency_job_id":"43830ea2-6c57-4444-b98a-4931b2863538","html_url":"https://github.com/giovanni-iannaccone/Jinjector","commit_stats":null,"previous_names":["giovanni-iannaccone/jinjector"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/giovanni-iannaccone/Jinjector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giovanni-iannaccone%2FJinjector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giovanni-iannaccone%2FJinjector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giovanni-iannaccone%2FJinjector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giovanni-iannaccone%2FJinjector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giovanni-iannaccone","download_url":"https://codeload.github.com/giovanni-iannaccone/Jinjector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giovanni-iannaccone%2FJinjector/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267277023,"owners_count":24063227,"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","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["backdoor","golang","golang-hacking","hacking","injection","injector","joomla","joomla-hacking","joomla-module","php-backdoor"],"created_at":"2024-11-19T07:11:31.780Z","updated_at":"2025-07-27T00:39:02.673Z","avatar_url":"https://github.com/giovanni-iannaccone.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/user-attachments/assets/f72b05a4-e65d-4e34-ac12-b07e5f9d090e\" alt=\"Logo\"/\u003e\n\n( It's pronounced \"J in jek′tər\" - J injector )\n\nJinjector is a powerful tool written in Go, designed to inject backdoors into Joomla modules effortlessly. Using this tool, you can easily insert a PHP reverse shell into a Joomla module's main file, allowing a connection back to a specified IP and port whenever the module is triggered. This is perfect for penetration testers or researchers aiming to simulate real-world scenarios.\n\n\u003e [!CAUTION]\n\u003e This tool is intended for educational and ethical testing purposes only. Unauthorized use of this tool on live systems without permission is illegal and unethical.\n\n## ✨ Features \n- Automatic file discovery: Extracts information from the Joomla XML manifest file to locate the main file.\n- Stealthy injection: Injects a PHP reverse shell that connects back to your specified IP and port.\n- Ease of use: Specify your IP, port, and the module directory, and let Jinjector handle the rest.\n\n## 📦 Requirements\n- Go\n- Joomla module directory (with a valid manifest.xml file)\n\n## 🛠️ Installation\n1. Clone the repository \n```bash\ngit clone https://github.com/giovanni-iannaccone/Jinjector\ncd Jinjector\n```\n2. Build \n```bash\ncd cmd\ngo build -o jinjector\n```\n\n## 🚀 Usage\n1. Run the program \n```\njinjector --ip=YOUR_IP --port=YOUR_PORT --path=YOUR_PATH --backdoor=BACKDOOR_PATH\n```\n2. Load the infected module on the target site \n3. Start an http client on the port your gave in the previous step\n4. Trigger the module by sendign a request to its position\n\n## 🌍 How It Works \n**Manifest Extraction**: Jinjector parses the XML file in the given module directory to identify the main PHP file.\n**Payload Injection**: Once located, it appends a PHP reverse shell payload to the main file.\n**Connection Setup**: Every time the infected Joomla module is used, it attempts to establish a connection to your IP and port.\n\n## ⚡️ Reverse Shell Code\nThe reverse shell code injected is just a proof of concept, designed to open a connection to the specified IP and port. You can modify the payload if needed for specific testing purposes (backdoor.php file)\nI used the \u003ca href=\"https://github.com/pentestmonkey/php-reverse-shell\"\u003epentestmonkey php reverse shell\u003c/a\u003e \n\n## 🧩 Contributing\nWe welcome contributions! Please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch ( using \u003ca href=\"https://medium.com/@abhay.pixolo/naming-conventions-for-git-branches-a-cheatsheet-8549feca2534\"\u003ethis\u003c/a\u003e convention).\n3. Make your changes and commit them with descriptive messages.\n4. Push your changes to your fork.\n5. Create a pull request to the main repository.\n\n## ⚖ License\nThis project is licensed under the GPL-3.0 License. See the LICENSE file for details.\n\n## ⚔ Contact\n- For any inquiries or support, please contact \u003ca href=\"mailto:iannacconegiovanni444@gmail.com\"\u003e iannacconegiovanni444@gmail.com \u003c/a\u003e.\n- Visit my site for more informations about me and my work \u003ca href=\"https://giovanni-iannaccone.github.io\" target=”_blank”\u003e https://giovanni-iannaccone.github.io \u003c/a\u003e\n\n🐞 Happy Hacking ... \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiovanni-iannaccone%2Fjinjector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiovanni-iannaccone%2Fjinjector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiovanni-iannaccone%2Fjinjector/lists"}