html广告拦截网吧,python模拟网吧浏览器劫持网页弹广告

前一篇写了JS实现的userscript插件往网页里面注入代码,监听键盘获取用户输入的实现,发现userscript插件危险值很高,现在用python模拟下网吧浏览器劫持网页弹广告,警示下自己和喜欢在网吧上网的人,再次警告在公共场所:敏感信息一定不要轻易输出,这次很轻松就用两种方法模拟了劫持用户信息的实现,相信真正的一门心思在这上面钻研的人,手段可以千变万化,会让人防不胜防,最好的应对方法就是以不变应万变,尽量不在公共场所暴露信息,尽量不安装来路不明的软件和插件,有点跑题了,言归正传,下面给出python模拟网吧浏览器劫持网页弹广告

=================================================================

1、实现思路

1.1 配置广告内容,以及需要弹广告的页面

1.2 python读取配置,并将获取的广告注入指定页面显示

2、实现过程

2.1 广告的话,肯定希望可以动态更新的,所以配置信息需要写到配置人员方便操作的地方,最方便的就是服务端后台配置,此例中使用两个html代码模拟在后台输出的内容:target.html(指定弹广告的页面)、tudou.html(弹出的广告内容)。

2.2 要在用户访问指定页面时进行相应操作,最直接的办法就是让用户访问页面的浏览器是被监听的,这个在网吧里面是最容易实现的,因为网吧里面的浏览器都是网管预先安装好的,绝大部分人都不会自己再安装浏览器。这样的话,如果浏览器的入口是被修改过的,那么用户一打开浏览器就处于被监听状态了,这个时候用户的操作就相当于透明的了……

python操控ie是很容易的事情,因为网上有开源的插件,安装后直接import下就可以进行编程操作了,下面给出一个最简单的例子:

#/usr/bin/env python

#coding=utf-8

”’

Created on 2013-1-24

@author: break

@link: http://www.shizuwu.cn

”’

import win32com.client

import time

from pyquery import PyQuery as pyq

#读取设置的需要弹窗的url

f = file(“target.html”, ”r”)

target = pyq(f.read())

targetUrl = pyq(target).find(“#url”).html()

f.close()

#读取制定url设置的需要弹出的内容

f = file(“tudou.html”, ”r”)

tudou = pyq(f.read())

player = pyq(tudou).find(“#tudou”).html()

f.close()

ie = win32com.client.DispatchEx(‘InternetExplorer.Application’)

ie.Visible = 1

ie.Navigate(targetUrl)

count = 0

while ie.Busy:

count += 1

if count > 5:

print ”IE很忙…”

break

else :

print count

time.sleep(1)

else :

document = ie.Document

body = document.body

try:

#将读取的内容,在制定url弹出

testdiv = document.createElement()

testdiv.innerHTML = player

body.appendChild(testdiv)

except Exception,e:

print e.exepinfo

这段代码实现的功能是,读取配置信息,打开一个ie窗口,将读取的广告内容注入到指定打开的页面展示,这个过程中弹出的广告完全可以在后台执行,所以如果某个网吧的网管存心不良的话,整个网吧的用户操作就都有可能被他实时监控着……

光有这段代码还不行,还需要将用户使用浏览器的入口给改了,这个也很容易做到,将上面的代码文件打包成一个exe,然后换个IE图标,就可以神不知鬼不觉的让用户上钩了……不是我太邪恶,而是世界太不安全

3、总结和源码

实现效果预览:

%E6%95%88%E6%9E%9C.png

%E5%B7%B2%E7%99%BE%E5%BA%A6%E7%BD%91%E9%A6%96%E9%A1%B5%E5%BC%B9%E5%87%BA%E5%9C%9F%E8%B1%86%E7%BD%91%E8%A7%86%E9%A2%91%E4%B8%BA%E4%BE%8B.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想编写一个Python程序来拦截浏览器的POST请求,你可以使用Python的HTTP服务器模块和socket模块。 首先,你需要创建一个HTTP服务器来监听浏览器的POST请求。你可以使用Python的http.server模块来创建一个简单的HTTP服务器。例如: ``` import http.server import socketserver class MyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler): def do_POST(self): content_length = int(self.headers.get('Content-Length', 0)) post_data = self.rfile.read(content_length) print(post_data.decode('utf-8')) PORT = 8000 with socketserver.TCPServer(("", PORT), MyHTTPRequestHandler) as httpd: print('Server started on port', PORT) httpd.serve_forever() ``` 这个HTTP服务器会监听来自浏览器的POST请求,并打印POST请求的内容。注意,这个示例代码仅用于演示,实际上你需要按照需求修改do_POST方法。 接下来,你需要将浏览器的POST请求发送到你的HTTP服务器。你可以使用Python的requests库来发送POST请求。例如: ``` import requests url = 'http://localhost:8000' data = {'key': 'value'} response = requests.post(url, data=data) print(response.content) ``` 这个示例代码会向http://localhost:8000发送一个名为'key'的POST参数。你可以在HTTP服务器的控制台中看到POST请求的内容。 注意,这个示例代码仅用于演示,实际上你需要按照需求修改POST参数和URL。另外,如果你想在Python拦截浏览器的实际POST请求,你需要在浏览器中设置代理服务器,并将代理服务器设置为你的Python程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值