sql注入教程之类型以及提交注入
参数类型
这里说的参数是源码中存在注入的地方。
其中参数类型有:数字、字符、搜索、json等。
其中sql语句干扰符号有:',",%,),}等,过滤首先考虑闭合这些符号,再进行注入测试。
例如php中的代码:
$name = $_GET['x'] $sql = "select * from user where name='$name'";
请求时:
http://www.xxx.com/x.php?id=xxx and 1=1 返回sql语句: select * from user where name='xxx and 1=1' 过滤方法: http://www.xxx.com/x.php?id='xxx and '1'='1
许多网站有搜索功能,其搜索框可能存 在注入点,注入时需闭合%。
sql中的搜索:
select *from user where name like '%参数%';
明确请求方法
请求方法有:GET、POST、COOKIE、REQUEST、HTTP头等
GET请求:通过url直接请求
POST请求:通过请求正文进行请求
COOKIE:cookie属于请求头部分,有些网站可通过cookie请求的数据进行注入
REQUEST请求:既可以通过GET请求,也可以通过POST请求
HTTP头:HTTP请求头域中有些参数值可能存在可以访问服务器中数据库中某些信息,可能存在注入
1.GET请求
sqlilabs第5关:
提交无反应,说明参数有有东西,查看源码
发现参数用单引号括起来了,需要闭合。
提交无反应,说明是无回显注入,暂时介绍到这里,后续在讲无回显注入方法。
sqlilabs第6关
第六关仍是无回显
查看源码
发现参数用双引号括起来的,要过滤双引号
2.POST請求
sqlilabs第11关
抓个包试试:
是post请求方法,直接构造post请求方法进行注入
3.COOKIE注入
sqlilabs第20关
被转义,尝试cooki注入:
测试可行。
4.http头注入
sqlilab第18关
显示ip和User Agent,通过分析源码,这里对uname和passwd参数进行了处理,但是还有两个新的全局变量可控,ip和user-agent:
修改User-Agent内容为xxx,发包:
通过修改User-Agent进行报错注入:
总结
到此这篇关于sql注入教程之类型以及提交注入的文章就介绍到这了,更多相关sql注入类型及提交内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
WordPress导入数据库出现”Unknown collation: ‘utf8mb4_unicode_ci”错误的解
这篇文章主要介绍了WordPress导入数据库出现”Unknown collation: ‘utf8mb4_unicode_ci”错误的解决办法的相关资料,需要的朋友可以参考下2015-10-10Navicat Premium12进行数据库定期自动备份的方法步骤
本文主要介绍了Navicat Premium 12进行数据库定期自动备份,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-02-02sql优化实战 把full join改为left join +union all(从5分钟降为10秒)
因为特殊原因,无法访问客户的服务器,没办法查看sql的执行计划、没办法知道表中的索引情况,所以,尝试从语句的改写上来优化2020-09-09
最新评论