2017-07-07 4 views
3

INTROEn utilisant XSS pour exécuter du code PHP

Je lisais un rapport sur hackerone.com et quelqu'un soumis un bogue XSS, qui utilise la fonction de flux Wordpress, à Uber. D'abord, il a affiché une boîte d'alerte simple, mais plus tard, il a affiché le code php personnalisé, phpinfo();, qui est exécuté.

Question

Je ne peux pas comprendre comment quelqu'un pourrait utiliser XSS pour exécuter php, je pensais que cela était impossible. Ou est-ce juste un cas particulier parce que la fonction de flux est capable d'écraser certains scripts PHP? Si oui, est-ce que le framework BeEF/XSS-Shell est l'une des choses les plus puissantes de XSS ou pourrait-on accomplir plus dans des cas normaux (comme, XSS sur un forum ou autre).

LE POC

Voir this hackerone report.

OUTRO

Quelqu'un pourrait-il expliquer cela s'il vous plaît me? Merci!

+2

Dans l'admin wordpress, vous pouvez modifier les fichiers PHP en tant qu'administrateur. Ainsi, le code JS est exilé en tant qu'administrateur, il est donc possible d'appeler simplement des APIs JS qui modifient les fichiers (comme le ferait l'administrateur lui-même). Fondamentalement, le XSS peut faire tout ce qu'un administrateur peut faire, donc si wordpress offre un moyen dans l'interface pour que l'administrateur puisse modifier les fichiers, l'attaquant XSS peut aussi faire. –

+0

Merci, je comprends. – mroWsymaS

Répondre

2

L'attaque stocke javascript en tant qu'utilisateur non authentifié. Plus tard, ce javascript est chargé lorsqu'un administrateur clique sur un certain onglet du plugin de flux, ainsi, le code injecté est exécuté avec des droits d'administrateur. Wordpress a quelques fonctions d'édition de code (par exemple éditeur de thème et de plugin) qui permettent l'édition de fichiers php sur le serveur. Cela peut être fait par le javascript injecté, vous laissant avec un serveur compromis et injecté php-code.

+0

Merci! Appréciez-le. – mroWsymaS