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关:

sql注入教程之类型以及提交注入_第1张图片

提交无反应,说明参数有有东西,查看源码

sql注入教程之类型以及提交注入_第2张图片

发现参数用单引号括起来了,需要闭合。

sql注入教程之类型以及提交注入_第3张图片

提交无反应,说明是无回显注入,暂时介绍到这里,后续在讲无回显注入方法。

sqlilabs第6关

第六关仍是无回显

sql注入教程之类型以及提交注入_第4张图片

sql注入教程之类型以及提交注入_第5张图片

查看源码

sql注入教程之类型以及提交注入_第6张图片

发现参数用双引号括起来的,要过滤双引号

sql注入教程之类型以及提交注入_第7张图片

2.POST請求

sqlilabs第11关

sql注入教程之类型以及提交注入_第8张图片

抓个包试试:

sql注入教程之类型以及提交注入_第9张图片

是post请求方法,直接构造post请求方法进行注入

sql注入教程之类型以及提交注入_第10张图片

3.COOKIE注入

sqlilabs第20关

sql注入教程之类型以及提交注入_第11张图片

被转义,尝试cooki注入:

sql注入教程之类型以及提交注入_第12张图片

测试可行。

4.http头注入

sqlilab第18关

sql注入教程之类型以及提交注入_第13张图片

显示ip和User Agent,通过分析源码,这里对uname和passwd参数进行了处理,但是还有两个新的全局变量可控,ip和user-agent:

sql注入教程之类型以及提交注入_第14张图片

修改User-Agent内容为xxx,发包:

sql注入教程之类型以及提交注入_第15张图片

通过修改User-Agent进行报错注入:

sql注入教程之类型以及提交注入_第16张图片

总结

到此这篇关于sql注入教程之类型以及提交注入的文章就介绍到这了,更多相关sql注入类型及提交内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(sql注入教程之类型以及提交注入)