sql注入教程之类型以及提交注入

目录
  • 参数类型
  • 明确请求方法
    • 1.get请求
    • 2.post請求
    • 3.cookie注入
    • 4.http头注入
  • 总结

    参数类型

    这里说的参数是源码中存在注入的地方。

    其中参数类型有:数字、字符、搜索、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注入类型及提交内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

    (0)
    上一篇 2022年3月21日
    下一篇 2022年3月21日

    相关推荐