基于Python:XSS漏洞检测脚本
前言:编写XSS漏洞测试脚本的最主要思路是,如何检测页面的弹窗呢?方法是多种多样的,本文利用的是selenium模块来检测页面是否有弹窗,从而判断页面是否存在XSS漏洞。
知识点:
- selenium模块的使用
- XSS漏洞原理和攻击方法
- pikachu靶场
源代码:
方法一:
直接在url上面注入测试脚本(该脚本开启了无界面访问):
from selenium import webdriver
import time
import traceback
# 开启无界面访问
options = webdriver.ChromeOptions() # 创建一个配置对象
options.add_argument("--headless") # 开启无界面模式
options.add_argument("--disable-gpu") # 禁用gpu
# options.set_headles() # 无界面模式的另外一种开启方式
driver = webdriver.Chrome(chrome_options=options) # 实例化带有配置的driver对象
url = "http://192.168.1.6/pikachu-master/vul/xss/xss_reflected_get.php?message=%3Cscript%3Ealert(%27xss%20exits%EF%BC%81%27)%3C/script%3E&submit=submit"
driver.get(url)
try:
time.sleep(3)
driver.switch_to.alert.accept()
print("存在XSS漏洞!")
except:
print("没有XSS漏洞!")
traceback.print_exc()
finally:
print("检测结束!")
driver.quit()
方法二:
直接在页面进行定位注入(该脚本开启了无界面访问):
from selenium import webdriver
from selenium.webdriver.common.by import By
import traceback
# 开启无界面访问
options = webdriver.ChromeOptions() # 创建一个配置对象
options.add_argument("--headless") # 开启无界面模式
options.add_argument("--disable-gpu") # 禁用gpu
# options.set_headles() # 无界面模式的另外一种开启方式
driver = webdriver.Chrome(chrome_options=options) # 实例化带有配置的driver对象
url = "http://192.168.1.6/pikachu-master/vul/xss/xss_reflected_get.php"
driver.get(url)
driver.find_element(by=By.NAME, value="message").send_keys("<script>alert('存在XSS漏洞!')</script>")
driver.find_element(by=By.NAME, value="submit").click()
try: # 判断是否有弹窗
driver.switch_to.alert.accept()
print("存在XSS漏洞!")
except:
traceback.print_exc()
print("不存在XSS漏洞!")
finally:
print("运行结束!")
driver.quit()
结果分析
运行结果:

这个测试脚本还是很简单的,没有什么技术含量。到时候有空的话,就写一个加强版的XSS测试脚本,完善一下这个代码,使其功能更加强大。
另外,我个人感觉该脚本美中不足的地方是在selenium模块上,当然不是说selenium模块不好(selenium的定位注入非常方便),而是说要使用该脚本,则必须要提前安装selenium模块的驱动,这样子就显得特别麻烦,从而大大降低脚本的方便性。
相关推荐
基于Python的简单高效XSS漏洞检测脚本设计源码
该项目是一款基于Python的简单高效XSS漏洞检测脚本源码,包含89个文件,涵盖37个Python源文件、33个编译后的Python文件、6个文本文件、3个批处理文件、2个Markdown文件、1个压缩文件和1个其他类型的文件。该脚本易于使用,适用于快速检测XSS漏洞,有助于提升网络安全。
基于python的XSS漏洞检测插件的设计与实现.docx
基于python的XSS漏洞检测插件的设计与实现.docx
火眼漏洞扫描器_一款基于Python开发的开源Web应用安全漏洞自动化扫描与渗透测试工具_它集成了多种漏洞检测模块包括SQL注入跨站脚本XSS跨站请求伪造CSRF文件包含命令注入目.zip
火眼漏洞扫描器_一款基于Python开发的开源Web应用安全漏洞自动化扫描与渗透测试工具_它集成了多种漏洞检测模块包括SQL注入跨站脚本XSS跨站请求伪造CSRF文件包含命令注入目.zip
-xsser.me-:XSS平台
-xsser.me-:XSS平台源码
Python-XSStrike是一个最先进的跨站脚本XSS检测套件
XSStrike是一个Cross Site Scripting检测套件,配备四个手写解析器,一个智能有效负载生成器,一个强大的模糊引擎和一个非常快速的爬虫。


