由于执行的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跨站攻击请求的更多相关文章

  1. 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 ...

  2. 云锁Linux服务器安全软件安装及防护webshell、CC、XSS跨站攻击设置

    无论我们在使用电脑,还是使用VPS/服务器的时候,最为担心的就是服务器是否有安全问题,尤其是网站服务器再遭受攻击的时候如何得到防护.对于大 部分站长用户来说,我们可能只会使用基础的环境,如果真遇到问题 ...

  3. Laravel5中防止XSS跨站攻击的方法

    本文实例讲述了Laravel5中防止XSS跨站攻击的方法.分享给大家供大家参考,具体如下: Laravel 5本身没有这个能力来防止xss跨站攻击了,但是这它可以使用Purifier 扩展包集成 HT ...

  4. Cross-Site Scripting XSS 跨站攻击全攻略 分类: 系统架构 2015-07-08 12:25 21人阅读 评论(2) 收藏

    原文:http://a1pass.blog.163.com/blog/static/2971373220087295449497/ 题记:这是我在<黑客X档案>08年第5期发表的一篇文章, ...

  5. 应用安全-Web安全-XSS(跨站攻击)攻防整理

    分类 反射型 存储型 DOM型 XSF(Flash XSS) PDFXSS MHTML协议跨站(MHTML,data) 字符编码(UTF-7 XSS) 富文本编辑器测试 - 输入框 <img S ...

  6. web安全性测试——XSS跨站攻击

    1.跨站攻击含义 XSS:(Cross-site scripting)全称"跨站脚本",是注入攻击的一种.其特点是不对服务器端造成任何伤害,而是通过一些正常的站内交互途径,例如发布 ...

  7. 宽字节XSS跨站攻击

    简介 宽字节跨站漏洞多发生在GB系统编码. 对于GBK编码,字符是由两个字节构成,在%df遇到%5c时,由于%df的ascii大于128,所以会自动拼接%5c,吃掉反斜线.而%27 %20小于asci ...

  8. XSS跨站攻击靶场-通关笔记

    XSS攻击是Web攻击中最常见的攻击手法之一,XSS中文名跨站脚本攻击,该攻击是指攻击者在网页中嵌入恶意的客户端脚本,通常是使用JS编写的恶意代码,当正常用户访问被嵌入代码的页面时,恶意代码将会在用户 ...

  9. xss跨站攻击原理

    https://www.cnblogs.com/frankltf/p/8975010.html 跨站脚本攻击:通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,一旦攻击成功,它可以获取用户 ...

随机推荐

  1. CSS泣鬼神

    博主网站 一.CSS介绍和语法 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 每个CSS样式由两个组成部分:选择器和声明.声明又包括属性和属性值.每个声明 ...

  2. Java 之 枚举(Enum)

    一.枚举 1.概述 枚举:JDK1.5引入的,类似于穷举,一一罗列出来 Java 枚举:把某个类型的对象,全部列出来 2.应用 什么情况下会用到枚举类型? 当某个类型的对象是固定的,有限的几个,那么就 ...

  3. c语言-数组、指针面试题

    转载 说明:所有题目均摘录于网络以及我所见过的面试题目,欢迎补充! 无特殊说明情况下,下面所有题s目都是linux下的32位C程序. 先来几个简单的热热身. 1.计算以下sizeof的值. char ...

  4. 剑指:最小的k个数

    题目描述 输入 n 个整数,找出其中最小的 K 个数.例如输入 4,5,1,6,2,7,3,8 这 8 个数字,则最小的 4 个数字是 1,2,3,4. 解法 解法一 利用快排中的 partition ...

  5. Django 缓存配置的多种方式

    django 的缓存配置有多种方式,主要包含以下几种: 1.开发调试模式 2.内存模式 3.使用文件 4.直接使用数据库 5.使用redis或者memcache 这里主要是记录一下那些不常用,但是在微 ...

  6. 网络编程 UDP协议 TCP局域网客户端与服务端上传下载电影示例

    UDP协议 (了解) 称之为数据包协议,又称不可靠协议. 特点: 1) 不需要建立链接. 2) 不需要知道对方是否收到. 3) 数据不安全 4) 传输速度快 5)能支持并发 6) 不会粘包 7) 无需 ...

  7. 06-cmake语法-include

    用来载入CMakeLists.txt文件,也用于载入预定义的cmake模块. include(cmake/OpenCVMinDepVersions.cmake) .cmake 是一个文本,定义了一个模 ...

  8. 开始Golang之旅了

  9. face-api.js:一个在浏览器中进行人脸识别的 JavaScript 接口

    Mark! 本文将为大家介绍一个建立在「tensorflow.js」内核上的 javascript API——「face-api.js」,它实现了三种卷积神经网络架构,用于完成人脸检测.识别和特征点检 ...

  10. 【oracle】drop,truncate,delete用法

    drop: drop table 表名:删表 truncate: truncate table 表名:清空数据 delete: delete table 表名 [where 条件]:删某数据 日志:d ...