Я анализирую приложение для iOS, написанное с помощью PhoneGap, которое сначала отображает HTTP-страницу. После нажатия «Войти» пользователь перенаправляется на HTTPS-страницу, где он может ввести данные для входа.
Если я настраиваю arpspoof/sslstrip ДО того, как пользователь войдет в систему в первый раз, все будет в порядке. Wireshark подтверждает, что данные для входа отправлены на HTTP-страницу, поэтому sslstrip выполнил свою работу.
Но если пользователь вошел в систему, например. за час ДО того, как я смог настроить arpspoof/sslstrip, второй запрос (= логин) отправляется через HTTPS, даже если приложение было полностью закрыто. Только если я установлю дату iPad в далеком будущем, она снова сработает. Затем, что раздражает, это также работает, если я устанавливаю дату на текущее время.
Если приложение удалить и установить новое, все снова работает как положено. Что произойдет, если пользователь вошел в систему раньше? Почему тогда sslstrip не может выполнять свою работу?
Моя установка: Kali Linux с помощью следующей команды:
#!/bin/bash
iptables -t nat --flush
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -i PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8008
arpspoof -i wlan0 -t SMARTPHONE-IP GATEWAY-IP
так же как
#!/bin/bash
sslstrip -k -f -l 8008 --write=sslstrip.log