loca1h0st's Blog
loca1h0st's Blog

一种利用jsonp接口识别终端是否使用代理的猜想和实践

一种利用jsonp接口识别终端是否使用代理的猜想和实践

众所周知1:在国内访问直接访问部分外部网站存在一定的困难,通过”代理协议“可以部分解决这个痛点。为了能尽量打造无缝访问的氛围,使用者通常习惯在客户端长期持有这个”代理协议“客户端,且客户端逐步进化得更加”智能“,自动选择访问国内国外线路:

https://blog.mrtblogs.net/wp-content/uploads/2022/06/image-10-1024x294.png
  • 此网站识别终端IP地址使用的iframe迁入网站,访问不会泄露个人信息。

众所周知2:蜜罐的溯源方式通常为使用常见的社交网站的jsonp接口,从而拿到攻击者的社交网站个人信息进一步进行溯源:

配图:无(我没有)


猜想:

结合上述两个已知条件,尝试识别终端用户是否使用了“代理协议”?

jsonp接口寻找:

相较于暴露社交账号的jsonp接口,公开的匿名易获取的jsonp接口非常好找,例如使用https://ip.sb的API接口:

https://blog.mrtblogs.net/wp-content/uploads/2022/06/image-11-1024x396.png

或者使用GCP的App Engine,CF的workers.dev,使用这些大厂的接口无论在逻辑上还是解释上都比使用自建VPS要好。


实践:

短平快使用PHP做后端,前端套一个index.html放jsonp的接口,获取后往后端发信息:

index.html

https://blog.mrtblogs.net/wp-content/uploads/2022/06/image-12-1024x439.png

getip.php

因为部署在本地,所以$ori_ip我这里直接写死,同时获取客户端IP的代码可以根据实际的部署进行调整,例如或许X-HTTP-Forward-For

https://blog.mrtblogs.net/wp-content/uploads/2022/06/image-13.png

识别效果:

能准确识别到客户端的代理:

我这里使用的是ip.sb的API,在实际使用中,可以利用前文提到的GCP部署边缘计算,或者去寻找GFW pac list里面的域名文件,从而达到尽可能全面发现的目的。

https://blog.mrtblogs.net/wp-content/uploads/2022/06/image-14-1024x623.png

用途:

DDDD


背景:

有个服务器一直被封,当然也有可能是终端装装了某些app的原因….顺手记录一下。

https://blog.mrtblogs.net/wp-content/uploads/2022/06/image-9.png
# # # #
首页      信息安全      jsonp      一种利用jsonp接口识别终端是否使用代理的猜想和实践

发表回复

textsms
account_circle
email

loca1h0st's Blog

一种利用jsonp接口识别终端是否使用代理的猜想和实践
众所周知1:在国内访问直接访问部分外部网站存在一定的困难,通过”代理协议“可以部分解决这个痛点。为了能尽量打造无缝访问的氛围,使用者通常习惯在客户端长期持有这个”代理协议“客户端…
扫描二维码继续阅读
2022-06-22