由于执行的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. Git恢复删除的分支

    1.使用 git reflog 命令查看显示整个本地仓储的commit,包括所有branch的commit,甚至包括已经撤销的commit. 2.找到我们想要恢复的分支 ,可以看到我们当时commit ...

  2. Odoo报表的report标签和报表格式定义

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826329.html 一:Report标签     report标签可用于定义一条报表记录.属性有: 1) ...

  3. 在ARM64位开发板上兼容ARM32位的可执行程序

    邮箱:pengdonglin137@163.com 参考:https://stackoverflow.com/questions/1706328/how-do-shared-libraries-wor ...

  4. Leetcode——1. 两数之和

    难度: 简单 题目 Given an array of integers, return indices of the two numbers such that they add up to a s ...

  5. 嵌入式linux开发uboot启动过程源码分析(一)

    一.uboot启动流程简介 与大多数BootLoader一样,uboot的启动过程分为BL1和BL2两个阶段.BL1阶段通常是开发板的配置等设备初始化代码,需要依赖依赖于SoC体系结构,通常用汇编语言 ...

  6. java.sql.SQLException: Access denied for user 'xxx'@'localhost' (using password: YES)

    java.sql.SQLException: Access denied for user 'xxx'@'localhost' (using password: YES) at com.mysql.c ...

  7. Python学习进阶之薄弱点总结

    ''' 1.实现用户传入一个普通字符串, 返回字符串的md5加密结果的函数 ''' # import hashlib # # def M(str): # m = hashlib.md5() # m.u ...

  8. Ubuntu18.04安装redis-server启动出错

    虽然报错原因可能是 redis-server.service: Can't open PID file /var/run/redis/re Aug 26 15:43:25 iZ2ze6ddwhet60 ...

  9. mybatis框架-使用resultMap实现高级结果映射,collection属性的使用

    需求:获取指定用户的用户信息和地址列表 修改user实体类  添加集合的引用. /** * 根绝用户id,获取该角色下的地址信息 * @param userID * @return */ public ...

  10. ES6学习笔记 -- 尾调用优化

    什么是尾调用? 尾调用(Tail Call)是函数式编程的一个重要概念,就是指某个函数的最后一步是调用另一个函数. function f(x) { return g(x) } 如上,函数 f 的最后一 ...