用shell脚本批量进行xss跨站攻击请求
由于执行的xss攻击请求他多了,初步估计要执行83次,而且还要执行3篇,如果手工一个一个去执行,说出去,我还配叫自动化大师吗;
有鉴于此,边打算自己编写一个脚本进行批量执行;
而短脚本的编写,非shell莫属,想到做到;
首先附上xss跨站攻击的请求报文:
POST /web/show.asp?id= HTTP/1.1
Host: 192.168..xxx
Connection: close
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, */*
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)
Content-Type: application/json
Content-Length: 25
{
"11111": " onabort ="
} 将onabort换成如下攻击特征:
onactivate
onafterprint
onbeforeactivate
onbeforeprint
onbeforeunload
onblur
oncancel
oncanplaythrough
oncanplay
onchange
onclick
oncontextmenu
oncopy
oncuechange
oncut
ondblclick
ondragdrop
ondragend
ondragenter
ondragleave
ondragover
ondragstart
ondrag
ondrop
ondurationchange
onemptied
onended
onerror
onfocus
onformchange
onforminput
onhashchange
oninput
oninvalid
onkeydown
onkeypress
onkeyup
onloadeddata
onloadedmetadata
onloadstart
onload
onmessage
onmousedown
onmouseenter
onmouseleave
onmousemove
onmouseout
onmouseover
onmouseup
onmousewheel
onmove
onoffline
ononline
onpagehide
onpageshow
onpaste
onpause
onplaying
onplay
onpopstate
onprogress
onpropertychange
onratechange
onreadystatechange
onreset
onresize
onscroll
onsearch
onseeked
onseeking
onselect
onshow
onstalled
onstart
onstorage
onsubmit
onsuspend
ontimeupdate
ontoggle
onunload
onvolumechange
onwaiting
onwheel
看到没有如果一个一个执行,我的天,这要猴年马月才能搞完!
话不多说,附上shlle脚本代码:
#!/bin/bash
echo "循环开始开始执行"
for j in $(cat rules3.txt)
do echo " 注意的是,json数据里变量要用 '' 括起"
# curl complete post json post 请求
# curl -i -X POST -H "'Content-type':'application/x-www-form-urlencoded', 'charset':'utf-8', 'Accept': 'text/plain'" -d 'json_data={...}' url
curl -i -X POST -H "'Content-type':'application/json'" -d $j http://192.168.26.213/ done
echo "循环结束"
其中rules3.txt文件内容为:
‘json_data={"":"onactivate"}'/
‘json_data={"":"onafterprint="}'/
‘json_data={"":"onbeforeactivate ="}'/
‘json_data={"":"onbeforeunload="}'/
‘json_data={"":"onblur="}'/
‘json_data={"":"oncancel="}'/
‘json_data={"":"oncanplaythrough="}'/
‘json_data={"":"oncanplay="}'/
‘json_data={"":"onchange="}'/
‘json_data={"":"onclick="}'/
‘json_data={"":"oncontextmenu="}'/
‘json_data={"":"oncopy="}'/
‘json_data={"":"oncuechange="}'/
‘json_data={"":"oncut="}'/
‘json_data={"":"ondblclick="}'/
‘json_data={"":"ondragdrop="}'/
‘json_data={"":"ondragend="}'/
‘json_data={"":"onondragenter="}'/
‘json_data={"":"ondragleave="}'/
‘json_data={"":"ondragstart="}'/
‘json_data={"":"ondrag="}'/
‘json_data={"":"ondrop="}'/
‘json_data={"":"ondurationchange="}'/
‘json_data={"":"onemptied="}'/
‘json_data={"":"onerror="}'/
‘json_data={"":"onfocus="}'/
‘json_data={"":"onformchange="}'/
‘json_data={"":"onforminput="}'/
‘json_data={"":"onhashchange="}'/
‘json_data={"":"oninput="}'/
‘json_data={"":"onkeydown="}'/
‘json_data={"":"onkeypress="}'/
‘json_data={"":"onkeyup="}'/
‘json_data={"":"onloadeddata="}'/
‘json_data={"":"onloadedmetadata="}'/
‘json_data={"":"onloadstart="}'/
‘json_data={"":"onload="}'/
‘json_data={"":"onmessage="}'/
‘json_data={"":"onmousedown="}'/
‘json_data={"":"onmouseenter="}'/
‘json_data={"":"onmouseleave="}'/
‘json_data={"":"onmousemove="}'/
‘json_data={"":"onmouseout="}'/
‘json_data={"":"onmouseover="}'/
‘json_data={"":"onmousewheel="}'/
‘json_data={"":"onmove="}'/
‘json_data={"":"onoffline="}'/
‘json_data={"":"ononline="}'/
‘json_data={"":"onpagehide="}'/
‘json_data={"":"onpageshow="}'/
‘json_data={"":"onpaste="}'/
‘json_data={"":"onpause="}'/
‘json_data={"":"onplaying="}'/
‘json_data={"":"onplay="}'/
‘json_data={"":"onpopstate="}'/
‘json_data={"":"onprogress="}'/
‘json_data={"":"onpropertychange="}'/
‘json_data={"":"onreset="}'/
‘json_data={"":"onresize="}'/
‘json_data={"":"onscroll="}'/
‘json_data={"":"onsearch="}'/
‘json_data={"":"onseeked="}'/
‘json_data={"":"onseeking="}'/
‘json_data={"":"onselect="}'/
‘json_data={"":"onshow="}'/
‘json_data={"":"onstalled="}'/
‘json_data={"":"onstart="}'/
‘json_data={"":"onstorage="}'/
‘json_data={"":"onsubmit="}'/
‘json_data={"":"onsuspend="}'/
‘json_data={"":"ontimeupdate="}'/
‘json_data={"":"ontoggle="}'/
‘json_data={"":"onunload="}'/
‘json_data={"":"onvolumechange="}'/
‘json_data={"":"onwaiting="}'/
‘json_data={"":"onwheel="}'/
‘json_data={"":"onbeforeprint"}'/
‘json_data={"":"onbeforeactivate ="}'/
‘json_data={"":"onended"}'/
‘json_data={"":"oninvalid"}'/
‘json_data={"":"onmouseup"}'/
‘json_data={"":"ondratechange"}'/
‘json_data={"":"onreadystatechange"}'/
注意
curl -i -X POST -H "'Content-type:'application/json'" -d " {'xxx':'sss'}" url
结果为:

改成这个格式后:
curl -i -X POST -H "'Content-type':'application/x-www-form-urlencoded', 'charset':'utf-8', 'Accept': 'text/plain'" -d 'json_data={...}' url

想拥有阿里云服务器的可以登陆此网站哦:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=qqwovx6h
用shell脚本批量进行xss跨站攻击请求的更多相关文章
- XSS跨站攻击
目录 1 XSS跨站攻击简介 1 1.1 什么是XSS 1 1.2 XSS的分类 1 1.3 XSS的危害 1 2 XSS的攻击原理 1 2.1 本地式漏洞攻击 1 2.2 存储式漏洞攻击 2 2.3 ...
- 云锁Linux服务器安全软件安装及防护webshell、CC、XSS跨站攻击设置
无论我们在使用电脑,还是使用VPS/服务器的时候,最为担心的就是服务器是否有安全问题,尤其是网站服务器再遭受攻击的时候如何得到防护.对于大 部分站长用户来说,我们可能只会使用基础的环境,如果真遇到问题 ...
- Laravel5中防止XSS跨站攻击的方法
本文实例讲述了Laravel5中防止XSS跨站攻击的方法.分享给大家供大家参考,具体如下: Laravel 5本身没有这个能力来防止xss跨站攻击了,但是这它可以使用Purifier 扩展包集成 HT ...
- Cross-Site Scripting XSS 跨站攻击全攻略 分类: 系统架构 2015-07-08 12:25 21人阅读 评论(2) 收藏
原文:http://a1pass.blog.163.com/blog/static/2971373220087295449497/ 题记:这是我在<黑客X档案>08年第5期发表的一篇文章, ...
- 应用安全-Web安全-XSS(跨站攻击)攻防整理
分类 反射型 存储型 DOM型 XSF(Flash XSS) PDFXSS MHTML协议跨站(MHTML,data) 字符编码(UTF-7 XSS) 富文本编辑器测试 - 输入框 <img S ...
- web安全性测试——XSS跨站攻击
1.跨站攻击含义 XSS:(Cross-site scripting)全称"跨站脚本",是注入攻击的一种.其特点是不对服务器端造成任何伤害,而是通过一些正常的站内交互途径,例如发布 ...
- 宽字节XSS跨站攻击
简介 宽字节跨站漏洞多发生在GB系统编码. 对于GBK编码,字符是由两个字节构成,在%df遇到%5c时,由于%df的ascii大于128,所以会自动拼接%5c,吃掉反斜线.而%27 %20小于asci ...
- XSS跨站攻击靶场-通关笔记
XSS攻击是Web攻击中最常见的攻击手法之一,XSS中文名跨站脚本攻击,该攻击是指攻击者在网页中嵌入恶意的客户端脚本,通常是使用JS编写的恶意代码,当正常用户访问被嵌入代码的页面时,恶意代码将会在用户 ...
- xss跨站攻击原理
https://www.cnblogs.com/frankltf/p/8975010.html 跨站脚本攻击:通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,一旦攻击成功,它可以获取用户 ...
随机推荐
- Java 之 JDK 1.8 新增日期时间类型
一.原来的日期时间 Java1.0中包含了一个Date类,但是它的大多数方法已经在Java 1.1引入Calendar类之后被弃用了.而Calendar并不比Date好多少.它们面临的问题是: ① 可 ...
- 实验吧——因缺思汀的绕过(sql with rollup)
题目地址:http://ctf5.shiyanbar.com/web/pcat/index.php 通读源码,得知出flag的条件 1.需要post提交uname以及pwd,否则直接die了 if ( ...
- Git恢复删除的分支
1.使用 git reflog 命令查看显示整个本地仓储的commit,包括所有branch的commit,甚至包括已经撤销的commit. 2.找到我们想要恢复的分支 ,可以看到我们当时commit ...
- maven 学习---Maven启用代理访问
如果你的公司正在建立一个防火墙,并使用HTTP代理服务器来阻止用户直接连接到互联网.如果您使用代理,Maven将无法下载任何依赖. 为了使它工作,你必须声明在 Maven 的配置文件中设置代理服务器: ...
- 6 Linux用户和用户组管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户都必须首相像系统管理员申请账号,然后以这个账号身份进入系统 每个用户账号都拥有一个唯一的用户名和各自的口令 用户在登陆时键入 ...
- 工作必备之正则匹配、grep、sed、awk
常用正则:匹配空行:^\s*\n 匹配www开头:^www 添加行号:awk '$0=""NR". "$0' /etc/yum.conf 1.所有域名前加www ...
- php对接app支付宝支付出错Cannot redeclare Decrypt()
报错原因: alipaySDK中定义的Encrypt()/Decrypt()函数与Laravel中定义的Encrypt()/Decrypt()函数重名了. 解决办法: 修改alipaySDK中定义的函 ...
- [转]【HttpServlet】HttpServletResponse接口 案例:完成文件下载
创建时间:6.19 & 6.24 1.案例-完成文件下载 1) 什么情况下会文件下载? 浏览器不能解析的文件就下载 *使用a标签直接指向服务器上的资源 2)什么情况下需要在服务端编写文件下载 ...
- dapi 基于Django的轻量级测试平台二 前端页面
QQ群: GitHub:https://github.com/yjlch1016/dapi 一.登录页login.html: 二.首页home.html: 三.产品线列表页product.html: ...
- ubuntu16.04深度学习环境配置
https://www.lizenghai.com/archives/14651.html https://blog.csdn.net/qq_40936141/article/details/8119 ...