我正在分析一个用iOS编写的PhoneGap应用程序,它首先显示一个HTTP页面。点击“登录”后,用户将被重定向到HTTPS页面,在那里她可以输入登录信息。
如果我在用户第一次登录之前设置arpspoof/ssl条带,那么一切都很好。Wireshark确认登录数据是提交给HTTP的,所以sslstrip完成了它的工作。
但是,如果用户登录(例如,在我设置arpspoof/ssl条带之前一个小时),则第二个请求(=登录)将通过HTTPS发送,即使应用程序已完全关闭。只有当我将iPads日期设置在很远的将来时,它才能再次工作。然后,令人恼火的是,如果我将日期设置为当前时间,它也会起作用。
如果该应用程序被删除并安装新的,那么一切都会像预期的那样再次正常工作。如果用户之前登录,会发生什么情况?那为什么不能完成它的任务呢?
我的安装程序:使用以下命令的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发布于 2014-01-23 23:22:47
看起来应用程序正在缓存一些信息。如果您在sslstrip活动之前使用https链接/表单访问原始页面,那么它将被缓存,并在https引用仍然完好无损的情况下使用。通过篡改系统的日期,您可以到达缓存页面的过期时间,这样它就会忽略缓存的条目并再次请求页面,这一次是通过sslstrip。另外,如果您删除应用程序,缓存也将被删除,以便重新安装后,它需要再次检索页面。
https://stackoverflow.com/questions/21311500
复制相似问题