MCPcopy Index your code
hub / github.com/RUB-NDS/WS-Attacker

github.com/RUB-NDS/WS-Attacker @v1.8

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.8 ↗ · + Follow
4,782 symbols 18,082 edges 582 files 1,004 documented · 21% updated 21mo agov1.8 · 2017-01-19★ 49417 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

WS-Attacker Build Status

WS-Attacker is a modular framework for web services penetration testing. It is developed by the Chair of Network and Data Security, Ruhr University Bochum (http://nds.rub.de/ ) and the Hackmanit GmbH (http://hackmanit.de/ ).

The basic idea behind WS-Attacker is to provide a functionality to load WSDL files and send SOAP messages to the Web Service endpoints (which is executed using the underlying SoapUI framework). This functionality can be extended using various plugins and libraries to build specific Web Services attacks. You can find more information on the WS-Attacker architecture and its extensibility in our paper: Penetration Testing Tool for Web Services Security (https://www.nds.rub.de/research/publications/ws-attacker-paper/)

In the current version, WS-Attacker supports the following attacks: - SOAPAction spoofing: see http://www.ws-attacks.org/index.php/SOAPAction_Spoofing - WS-Addressing spoofing: see http://www.ws-attacks.org/index.php/WS-Addressing_spoofing - XML Signature Wrapping: see http://nds.rub.de/media/nds/arbeiten/2012/07/24/ws-attacker-ma.pdf - XML-based DoS attacks: see https://www.nds.rub.de/research/publications/ICWS_DoS - New Adaptive and Intelligent Denial-of-Service Attacks (AdIDoS) - XML Encryption attacks: see this blogpost (http://web-in-security.blogspot.de/2015/05/how-to-attack-xml-encryption-in-ibm.html) for a general overview on the attacks and on further references to the scientific papers

Obtaining Runnable File

The first option to obtain a WS-Attacker jar file is from the sourceforge website: http://sourceforge.net/projects/ws-attacker/files/

The second option is to build it directly from the Github sources. For this purpose, you need: - Java 7 or higher - maven - git

You procede as follows. You first need to clone WS-Attacker sources (you can of course also download a ZIP file):

$ git clone https://github.com/RUB-NDS/WS-Attacker.git 

Then you go to the WS-Attacker directory and use maven to build and package the files:

$ cd WS-Attacker
$ mvn clean package -DskipTests

Afterwards, you are able to go to the runnable directory and execute WS-Attacker:

$ cd runnable
$ java -jar WS-Attacker-1.8-SNAPSHOT.jar

WS-Attacker Usage

You can find the latest documentation on XML Signature Wrapping and DoS attacks here: http://sourceforge.net/projects/ws-attacker/files/WS-Attacker%201.3/Documentation-v1.3.pdf/download

The documentation on XML Encryption attacks is currently under development, but you can find a lot of information on the XML Encryption plugin and on starting XML Encryption attacks here: http://web-in-security.blogspot.de/2015/05/how-to-attack-xml-encryption-in-ibm.html

If you want to practice the attacks and you do not have any Web Service, we encourage you to use the Apache Rampart framework. This framework provides several Web Services examples and is vulnerable to the most of the provided attacks, including XML Signature Wrapping and the attacks on XML Encryption.

See this blog post on how to use WS-Attacker to attack Apache Rampart Web Services with XML Signatures: http://web-in-security.blogspot.de/2015/04/introduction-to-ws-attacker-xml.html Similar concepts apply to the attacks with XML Encryption.

Happy Web Service hacking

Extension points exported contracts — how you extend this code

PluginObserver (Interface)
Interface to observe a plugin @see AbstractPlugin @author Christian Mainka [7 implementers]
framework/src/main/java/wsattacker/main/composition/plugin/PluginObserver.java
XPathWeaknessInterface (Interface)
Interafce which defines an XPath Weakness. Concrete implementations will be: - AttribteWeakness - DescendantWeakness - N [10 …
libs/Signature_Wrapping_Library/src/main/java/wsattacker/library/signatureWrapping/xpath/interfaces/XPathWeaknessInterface.java
Position (Interface)
@author Christian Altmeier [6 implementers]
libs/Intelligent_Denial_of_Service_Library/src/main/java/wsattacker/library/intelligentdos/position/Position.java
AttackListener (Interface)
Interface that all modelListeners have to implement valueChanged is the method that gets executed once a model changes! [17 …
plugins/Denial_of_Service/src/main/java/wsattacker/plugin/dos/dosExtension/mvc/view/AttackListener.java
StringListValidator (Interface)
@author Christian Altmeier [29 implementers]
plugins/Intelligent_Denial_of_Service/src/main/java/wsattacker/plugin/intelligentdos/ui/helper/StringListValidator.java
CipherDataChildIF (Interface)
@author Dennis Kupser [5 implementers]
libs/XML_Encryption_Attack_Library/src/main/java/wsattacker/library/xmlencryptionattack/encryptedelements/CipherDataChildIF.java
SchemaAnalyzer (Interface)
An interface for the SchemaAnalyzer. There are two implemetations for it: 1) A Real Schema Analyzer 2) A Null Schema Ana [4 …
libs/Schema_Analyzer_Library/src/main/java/wsattacker/library/schemaanalyzer/SchemaAnalyzer.java
PluginManagerListener (Interface)
Interface to observe the plugin manager @author Christian Mainka [6 implementers]
framework/src/main/java/wsattacker/main/composition/plugin/PluginManagerListener.java

Core symbols most depended-on inside this repo

get
called by 567
libs/Signature_Wrapping_Library/src/main/java/wsattacker/library/signatureWrapping/xpath/weakness/util/WeaknessLog.java
size
called by 479
framework/src/main/java/wsattacker/main/plugin/result/Result.java
info
called by 254
framework/src/main/java/wsattacker/main/composition/plugin/AbstractPlugin.java
append
called by 248
framework/src/main/java/wsattacker/gui/component/log/GuiAppender.java
add
called by 203
libs/XML_Encryption_Attack_Library/src/main/java/wsattacker/library/xmlencryptionattack/attackengine/oracle/base/mode/OracleResponseCollector.java
getName
called by 155
framework/src/main/java/wsattacker/main/composition/plugin/PluginFunctionInterface.java
append
called by 153
libs/Signature_Wrapping_Library/src/main/java/wsattacker/library/signatureWrapping/xpath/weakness/util/WeaknessLog.java
domToString
called by 140
libs/XML_Utilities/src/main/java/wsattacker/library/xmlutilities/dom/DomUtilities.java

Shape

Method 4,160
Class 555
Interface 43
Enum 24

Languages

Java100%

Modules by API surface

plugins/Denial_of_Service/src/main/java/wsattacker/plugin/dos/dosExtension/mvc/model/AttackModel.java133 symbols
plugins/Denial_of_Service/src/main/java/wsattacker/plugin/dos/dosExtension/abstractPlugin/AbstractDosPlugin.java55 symbols
framework/src/main/java/wsattacker/main/composition/plugin/AbstractPlugin.java53 symbols
libs/Intelligent_Denial_of_Service_Library/src/main/java/wsattacker/library/intelligentdos/IntelligentDoSLibraryImpl.java49 symbols
libs/Intelligent_Denial_of_Service_Library/src/main/java/wsattacker/library/intelligentdos/common/AttackModel.java42 symbols
plugins/XML_Encryption_Attack/src/main/java/wsattacker/plugin/xmlencryptionattack/gui/OptionPayloadEncGUI.java38 symbols
framework/src/main/java/wsattacker/gui/GuiController.java34 symbols
libs/Intelligent_Denial_of_Service_Library/src/main/java/wsattacker/library/intelligentdos/helper/IterateModel.java31 symbols
framework/src/main/java/wsattacker/main/plugin/PluginManager.java29 symbols
framework/src/main/java/wsattacker/main/plugin/result/Result.java28 symbols
libs/Intelligent_Denial_of_Service_Library/src/main/java/wsattacker/library/intelligentdos/common/SuccessfulAttack.java27 symbols
plugins/XML_Encryption_Attack/src/main/java/wsattacker/plugin/xmlencryptionattack/serverbehaviour/gui/ServerBehaviourGUI.java26 symbols

For agents

$ claude mcp add WS-Attacker \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page