Struts2框架下Log4j2漏洞检测方法分析与总结

Part1 前言

叒有一段时间没写文章了,正好周末有时间就来写写,本文来讲讲有关SQL注入相关的知识点会尽可能详细的写出来,比较适合刚入门安全的小白进行学习,希望能在面试或实战中助你一臂之力。如有大佬发现文中内容有错误的地方恳请斧正!也欢迎各位师傅共同交流学习技术!

Part2 了解SQL注入

SQL注入分类:

从注入参数类型分:数字型注入、字符型注入

从注入效果分:报错注入、布尔注入、延时注入、联合注入、堆叠注入、宽字节注入

从提交方式分:GET注入、POST注入、HTTP头注入、COOKIE注入

常见位置:
  1. URL参数:攻击者可以在应用程序的URL参数中注入恶意SQL代码,例如在查询字符串或路径中。

  2. 表单输入:应用程序中的表单输入框,如用户名、密码、搜索框等,如果没有进行充分的输入验证和过滤,就可能成为SQL注入的目标。

  3. Cookie:如果应用程序使用Cookie来存储用户信息或会话状态,攻击者可以通过修改Cookie中的值来进行SQL注入攻击。

  4. HTTP头部:有些应用程序可能会从HTTP头部中获取数据,攻击者可以在HTTP头部中注入恶意SQL代码。

  5. 数据库查询语句:在应用程序中直接拼接SQL查询语句的地方,如果没有正确地对用户输入进行过滤和转义,就可能导致SQL注入漏洞。

  6. 还有各种实战过程中遇到过的存在SQL注入的参数,比如可控的表名列名、order by、desc等参数,在其他站点遇到相同参数时可以重点测试。

如何判断:

单双引号判断、and 1=1和 and 1=2判断、or和xor判断、exp(709)和exp(710)判断等等

具体使用可自行查询,测试中一定要注意闭合。

常用函数

Mysql

system_user() 

系统用户名

user()

用户名

current_user() 当前用户名

database()

数据库名

version()

数据库版本

@@verison

版本

load_file()

读取本地文件

ascii()

字符串的ASCII代码值

ord()

返回字符串第一个字符的ASCII值 

mid()

截取函数

 substr()

截取函数

length()

返回字符串的长度

left()

从左截取 

right()

从右截取 

extractvalue() 

报错函数

updatexml() 

报错函数

 sleep()

延时函数

exp()

返回e的x次方

floor()

报错函数

hex()

转十六进制

注释:

  1. #注释内容,表示单行注释

2." -- 注释内容" &#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值