Skip to content

DataSetOldBehaviourFromFile

gadget

Another variant of the DataSetOldBehaviour gadget. This gadget interprets the command parameter as the path to the .cs file that should be compiled as an exploit class. Use a semicolon to separate the file from any additional required assemblies, e.g., '-c ExploitClass.cs;System.dll'

Declared metadata, not a runtime result. How to read evidence.

Terminal window
.\ysonet.exe -g DataSetOldBehaviourFromFile -h

Target declarations

VariantFormattersInputsRequirementsRuntime tokens
1BinaryFormatter, LosFormattersource-code-filebuilt-in, wpf, net-frameworknet-fx-4.0, net-fx-4.5, net-fx-4.5.1, net-fx-4.5.2, net-fx-4.6, net-fx-4.6.1, net-fx-4.6.2, net-fx-4.7, net-fx-4.7.1, net-fx-4.7.2, net-fx-4.8, net-fx-4.8.1
2BinaryFormatter, LosFormattersource-code-filebuilt-in, wpf, net-frameworknet-fx-4.0, net-fx-4.5, net-fx-4.5.1, net-fx-4.5.2, net-fx-4.6, net-fx-4.6.1, net-fx-4.6.2, net-fx-4.7, net-fx-4.7.1, net-fx-4.7.2, net-fx-4.8, net-fx-4.8.1
Variants
  • 1: default DataSet schema (default) (default)
  • 2: List<ExpandedWrapper> array schema
Options (3)
OptionHelpDefaultRequired
spoofedAssembly=The assembly name you want to use in the generated serialized object (example: 'mscorlib' or use 'default' for System.Data) Suggested values: mscorlib, default.Not declaredfalse
var|variant=Payload variant number where applicable. Choices: 1 (default), 2 Default value: "1". Suggested values: 1, 2.1false
compressedGZip-compress the embedded assembly bytes so the payload is much smaller for a large assembly. The payload decompresses them at deserialization time via a GZipStream in the XAML chain (works with both variants). Default value: "false".falsefalse

Credit: [Finders: Steven Seeley, Markus Wulftange, Khoa Dinh] [Contributors: Soroush Dalili]

All modules · Full catalog JSON