当前位置:首页 » 编程语言 » pikachu靶场通关之sql注入
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

pikachu靶场通关之sql注入

发布时间: 2022-12-18 02:04:41

⑴ BurpSuite 基本使用之修改请求

Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具。Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。

安装

需要先安装 Java 环境,安装好后直接使用 java -jar 命令运行 BurpSuite 的 jar 包即可,公众号后台回复 “burp” 即可获取 BurpSuite 的 jar 包。

代理

使用之前,需要先设置代理,推荐使用谷歌浏览器,推荐使用代理插件 SwitchyOmega,装好插件之后,打开 BurpSuite,点击 next,继续点击 start burp,进入软件主界面。

点击 Proxy -> Options,可以看到 burp 的代理服务器运行在 127.0.0.1:8080。

回到谷歌浏览器,打开 SwitchyOmega 插件,新建情景模式,选择代理协议,输入代理服务器与代理端口,点击应用选项即可。

使用

我们使用 BurpSuite 拦截并修改请求,绕过文件上传限制,从而进行木马上传。打开 Pikachu 漏洞靶场,找到 Unsafe Fileupload -> client check,尝试上传 muma.php,提示文件不符合要求。

修改木马文件名为 muma.jpg,浏览器开启代理。

回到 burp,Proxy -> Intercept,先一直点击 forward 放掉当前拦截到的请求,直到所有请求放完,再重新上传文件,就可以看到已经拦截到文件上传请求,把 muma.jpg 改回 muma.php。

点击 forward 发送请求,回到浏览器,可以看到木马已经上传成功,返回提示路径为 uploads/muma.php,这是相对当前目录的路径,完整绝对路径为  /vul/unsafeupload/uploads/muma.php。访问,成功进入木马界面,输入自己设置的密码就可以奔放了。

最后记得把浏览器代理关掉。

下次讲解如何使用 BurpSuite 进行爆破。

声明:本文仅用于学习和交流,请勿随意渗透他人网站及系统,否则后果自负!

⑵ phstudy搭建靶场练习什么比较好

练习sql注入。phstudy靶场搭建为了更好地学习web网络安全知识,可以通过搭建靶场进行练习sql注入、xss等常见漏洞。搭建phstudy靶场练习要具备数据库和运行环境。而这些可以很有效的锻炼sql的注入,检查数据库的练习。

⑶ BurpSuite 暴力破解之绕过 token

0x01

现在的网站安全性越来越高,防爆破机制也越来越多,token 验证便是其中比较常见的一种。客户端每次请求服务器时,服务器会返回一个 token,下次请求时,客户端需要带上这个 token,否则服务器认为请求不合法。且这个 token 不可重复使用,每次请求都将生成新的 token,并导致旧的 token 失效。

0x02

token 机制使得我们的爆破变得困难了许多,但正所谓道高一尺魔高一丈,神器 BurpSuite 已经为我们提供了这一问题的解决方案,接下来就由老夫将这武林秘籍授予你们!(哈哈哈一不小心就中二了)

0x03

PIkachu 靶场第 4 关,token防爆破

首先浏览器设置代理,然后点击登录,burp 拦截到请求,可以看到请求携带了 token。

右键,Send to Repeater,然后点击 go,发送请求,提示 username or password is not exists~,并且可以看到返回了新的 token。

再次点击 go,又返回了新的 token,且提示 csrf token error,说明旧的 token 已经失效。

由此我们可以知道,每次请求服务端都会返回新的 token,并且会放在页面上,我们只需要将这个值拿出去,并且放到请求里带上即可。

0x04

在 Repeater 界面单机右键,Send to Intruder,来到 Intruder 界面。

点击 Position,点击 Clear,清除默认荷载,然后依次分别选择密码部分和 token 部分的值并点击 Add,(账号部分我就不选中了,因为我知道账号就是 admin),Attack Type 选择 Pitchfork,完成后如下图。

接着点击 Payloads,首先设置密码的字典,选择从文件加载。

然后设置 token,首先把 Payload Set 切换到 2,因为我们刚刚 Add 的时候 token 是在第二个位置,密码是在第一个,这个其实就是设置第几个位置的荷载的值。

点击 Options,找到 Grep-Extract,点击 Add。

弹出一个框,点击 fetch response(或者 refetch response)。

然后我们搜索 token,点击 + 旁边的 < > 切换上一个和下一个,找到如下位置,然后双击选中 token 的值,如下图所示。

然后点击 ok,可以在 Grep - Extract 看到一条记录,就是我们刚刚加的。

接下来设置 Redirections,设置为 Always。

继续设置线程数,设置为 1 个线程,因为多线程会导致 token 出现问题。

回到 Payloads,将 Payload set 2 的 Payload type 设置为 Recursive grep,如下设置。

一切准备就绪,点击 start attack 开始爆破。

可以看到每次带上的 token 都是不一样的,第 4 条记录的 Length 和其他的不一样,为正确的账号密码 admin 123456。

至此成功绕过 token 验证。

⑷ 网络安全怎么学

你可以把网络安全理解成电商行业、教育行业等其他行业一样,每个行业都有自己的软件研发,网络安全作为一个行业也不例外,不同的是这个行业的研发就是开发与网络安全业务相关的软件。

既然如此,那其他行业通用的岗位在安全行业也是存在的,前端、后端、大数据分析等等,也就是属于上面的第一个分类,与安全业务关系不大的类型。这里我们重点关注下第二种,与安全业务紧密相关的研发岗位。

这个分类下面又可以分为两个子类型:

  • 做安全产品开发,做防

  • 做安全工具开发,做攻

  • 安全行业要研发的产品,主要(但不限于)有下面这些:

  • 防火墙、IDS、IPS

  • WAF(Web网站应用防火墙)

  • 数据库网关

  • NTA(网络流量分析)

  • SIEM(安全事件分析中心、态势感知)

  • 大数据安全分析

  • EDR(终端设备上的安全软件)

  • DLP(数据泄漏防护)

  • 杀毒软件

  • 安全检测沙箱

  • 总结一下,安全研发的产品大部分都是用于检测发现、抵御安全攻击用的,涉及终端侧(PC电脑、手机、网络设备等)、网络侧。

    开发这些产品用到的技术主要以C/C++、Java、Python三大技术栈为主,也有少部分的GoLang、Rust。

    安全研发岗位,相对其他两个方向,对网络安全技术的要求要低一些(只是相对,部分产品的研发对安全技能要求并不低),甚至我见过不少公司的研发对安全一无所知。

脚本渗透之SQL注入详细教程

SQL注入呀,就是通过URL把SQL语句改的邪恶一些

⑹ 网络安全去应该去哪里学习呢。

只要想学习哪里学习都是有效果的。但需要结合自身的一些特点来调整学习方向,这样学习起来会事半功倍,以下推荐3种学习线路,适用于不同的学习人群;

方法1:先学习编程,然后学习Web渗透及工具使用等

适用人群:有一定的代码基础的小伙伴

(1)基础部分

基础部分需要学习以下内容:

(1.1)计算机网络 :

重点学习OSI、TCP/IP模型,网络协议,网络设备工作原理等内容,其他内容快速通读;

【推荐书籍】《网络是怎样连接的_户根勤》一书,简明扼要,浅显易懂,初学者的福音;如果觉得不够专业,可以学习图灵设计丛书的《HTTP权威指南》;

(1.2)Linux系统及命令 :

由于目前市面上的Web服务器7成都是运行在Linux系统之上,如果要学习渗透Web系统,最起码还是要对linux系统非常熟悉,常见的操作命令需要学会;

学习建议:学习常见的10%左右的命令适用于90%的工作场景,和office软件一样,掌握最常用的10%的功能,基本日常使用没什么问题,遇到不会的,再去找相关资料;常见的linux命令也就50-60个,很多小白囫囵吞枣什么命令都学,这样其实根本记不住。

【推荐书籍】Linux Basics for Hackers;

(1.3)Web框架 :

熟悉web框架的内容,前端HTML,JS等脚本语言了解即可,后端PHP语言重点学习,切记不要按照开发的思路去学习语言,php最低要求会读懂代码即可,当然会写最好,但不是开发,但不是开发,但不是开发,重要的事情说三遍;

数据库:

需要学习SQL语法,利用常见的数据库MySQL学习对应的数据库语法,也是一样,SQL的一些些高级语法可以了解,如果没有时间完全不学也不影响后续学习,毕竟大家不是做数据库分析师,不需要学太深;

(2)Web安全

(2.1)Web渗透

掌握OWASP排名靠前的10余种常见的Web漏洞的原理、利用、防御等知识点,然后配以一定的靶场练习即可;有的小白可能会问,去哪里找资料,建议可以直接买一本较为权威的书籍,配合一些网上的免费视频系统学习,然后利用开源的靶场辅助练习即可;

【推荐书籍】白帽子讲Web安全(阿里白帽子黑客大神道哥作品)

【推荐靶场】常见的靶场都可以上github平台搜索,推荐以下靶场DVWA、bWAPP、upload-labs-master、SQL-lib-master、WebBug、pikachu等,有些是综合靶场,有些是专门针对某款漏洞的靶场;

(2.2)工具学习

Web渗透阶段还是需要掌握一些必要的工具,工具的学习b站上的视频比较多,挑选一些讲解得不错的视频看看,不要一个工具看很多视频,大多数视频是重复的,且很浪费时间;

主要要掌握的工具和平台:burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具ssrs、hydra、mesa、airspoof等,以上工具的练习完全可以利用上面的开源靶场去练习,足够了;

练习差不多了,可以去SRC平台渗透真实的站点,看看是否有突破,如果涉及到需要绕过WAF的,需要针对绕WAF专门去学习,姿势也不是特别多,系统性学习学习,然后多总结经验,更上一层楼;

(2.2)自动化渗透

自动化渗透需要掌握一门语言,且需要熟练运用,可以是任何一门自己已经掌握得很熟悉的语言,都可以,如果没有一门掌握很好的,那我推荐学习python,最主要原因是学起来简单,模块也比较多,写一些脚本和工具非常方便;

虽说不懂自动化渗透不影响入门和就业,但是会影响职业的发展,学习python不需要掌握很多不需要的模块,也不需要开发成千上万行的代码,仅利用它编写一些工具和脚本,少则10几行代码,多则1-200行代码,一般代码量相对开发人员已经少得不能再少了,例如一个精简的域名爬虫代码核心代码就1-20行而已;

几天时间学习一下python的语法,有代码基础的,最快可能一天就可以学习完python的语法,因为语言都是相通的,但是学习语言最快的就是写代码,别无他法;接下来可以开始尝试写一些常见的工具,如爬虫、端口探测、数据包核心内容提取、内网活跃主机扫描等,此类代码网上一搜一大把;然后再写一些POC和EXP脚本,以靶场为练习即可;有的小伙伴可能又要问了,什么是POC和EXP,自己网络去,养成动手的好习惯啦;

(2.3)代码审计

此处内容要求代码能力比较高,因此如果代码能力较弱,可以先跳过此部分的学习,不影响渗透道路上的学习和发展。

但是如果希望在Web渗透上需要走得再远一些,需要精通一门后台开发语言,推荐php,因为后台采用php开发的网站占据最大,当然你还精通python、asp、java等语言,那恭喜你,你已经具备很好的基础了;

代码审计顾名思义,审计别人网站或者系统的源代码,通过审计源代码或者代码环境的方式去审计系统是否存在漏洞(属于白盒测试范畴)

那具体要怎么学习呢?学习的具体内容按照顺序列举如下 :

掌握php一些危险函数和安全配置;

熟悉代码审计的流程和方法;

掌握1-2个代码审计工具,如seay等;

掌握常见的功能审计法;(推荐审计一下AuditDemo,让你产生自信)

常见CMS框架审计(难度大); 代码审计有一本国外的书籍《代码审计:企业级Web代码安全架构》,当然有空的时候可以去翻翻,建议还是在b站上找一套系统介绍的课程去学习;github上找到AuditDemo,下载源码,搭建在本地虚拟机,然后利用工具和审计方法,审计AuditDemo中存在的10个漏洞,难度分布符合正态分布,可以挑战一下;

至于CMS框架审计,可以去一些CMS官方网站,下载一些历史存在漏洞的版本去审计,框架的学习利用官方网站的使用手册即可,如ThinkPHP3.2版本是存在一些漏洞,可以尝试读懂代码;但是切记不要一上来就看代码,因为CMS框架的代码量比较大,如果不系统先学习框架,基本属于看不懂状态;学习框架后能够具备写简单的POC,按照代码审计方法结合工具一起审计框架;其实也没没想象中的那么难,如果你是开发人员转行的,恭喜你,你已经具备代码审计的先天性优势。

可能有人会问:“我代码很差,不学习代码审计行不行?”其实代码审计不是学习网络安全的必要条件,能够掌握最好,掌握不了也不影响后续的学习和就业,但你需要选择一个阶段,练习得更专业精通一些,如web渗透或者内网渗透,再或者是自动化渗透;

(3)内网安全

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;

如果想就业面更宽一些,技术竞争更强一些,需要再学习内网渗透相关知识;

内网的知识难度稍微偏大一些,这个和目前市面上的学习资料还有靶场有一定的关系;内网主要学习的内容主要有:内网信息收集、域渗透、代理和转发技术、应用和系统提权、工具学习、免杀技术、APT等等;

可以购买《内网安全攻防:渗透测试实战指南》,这本书写得还不错,国内为数不多讲内网的书籍,以书籍目录为主线,然后配合工具和靶场去练习即可;

那去哪里可以下载到内网靶场?如果你能力够强,电脑配置高,可以自己利用虚拟机搭建内网环境,一般需要3台以上的虚拟机;你也可以到国外找一些内网靶场使用,有一些需要收费的靶场还可以;

(4)渗透拓展

渗透拓展部分,和具体工作岗位联系也比较紧密,尽量要求掌握,主要有日志分析、安全加固、应急响应、等保测评等内容;其中重点掌握前三部分,这块的资料网络上也不多,也没有多少成型的书籍资料,可通过行业相关的技术群或者行业分享的资料去学习即可,能学到这一步,基本上已经算入门成功,学习日志分析、安全加固、应急响应三部分的知识也相对较为容易。

方法2:先学习Web渗透及工具,然后再学习编程

适用人群:代码能力很弱,或者根本没有什么代码能力,其他基础也相对较差的小伙伴

基础需要打好,再学习Web渗透比如linux系统、计算机网络、一点点的Web框架、数据库还是需要提前掌握;

像php语言、自动化渗透和代码审计部分内容,可以放在最后,当学习完毕前面知识后,也相当入门后,再来学习语言,相对会容易一些;

【优先推荐】方法2,对于小白来说,代码基础通常较弱,很多很多小白会倒在前期学习语言上,所以推荐方法2的学习,先学习web渗透和工具,也比较有意思,容易保持一个高涨的学习动力和热情,具体学习内容我就不说了,请小伙伴们参照方法1即可。

方法3:选择一些适合自己的课程学习

适用人群:需要体系化学习、增强实战能力的小伙伴

具体根据自身条件来讲,如果你自学能力较差,那建议选择课程学习,网上各大平台等都有很多各式各样的课程,是可以更快帮助你迅速入门的,然后再根据自己自身所欠缺的方面,不断去完善和学习,最后达到你所要的优秀水平。

学习书籍推荐如下:

【基础阶段】

Linux Basics for Hackers(中文翻译稿)

Wireshark网络分析(完整扫描版)

精通正则表达式(中文第3版)

图解HTTP 彩色版

[密码学介绍].杨新.中文第二版

网络是怎样连接的_户根勤

[PHP与MySQL程序设计(第4版)].W.Jason.Gilmore


【web渗透阶段】

web安全攻防渗透测试实战指南

白帽子讲Web安全

Web安全深度


【自动化渗透阶段】

Python编程快速上手-让繁琐工作自动化


【代码审计阶段】

代码审计:企业级Web代码安全架构


【内网渗透阶段】

内网安全攻防:渗透测试实战指南

社会工程防范钓鱼欺诈

⑺ BurpSuite 基本使用之暴力破解

0x01

之前使用 BurpSuite 进行了简单的请求修改演示,现在我们来使用 BurpSuite 进行账号密码爆破。

0x02

这次对漏洞靶场 Pikachu 进行爆破,这个靶场的第一关便是暴力破解。

0x03

基于表单的暴力破解

浏览器设置好代理,burp 开启拦截,输入账号密码,点击登录,burp 拦截到请求。

右键,选择 Send to Intruder。

然后来到 Intruder 界面,选择 Position,点击 Clear,清除默认的荷载,然后分别依次选中账号和密码部分并点击 Add,最后选择 Attack Type 为 Cluster bomb。因为我们账号和密码都不知道,所以账号密码都需要爆破,故选择这种模式。

点击 Position 旁边的 Payload,设置好字典,我这里选择从文件读取,用户名字典 6 个,密码字典 13 个,一共会爆破 6*13=78 次。

点击 Start attack,开始爆破,根据 Length,可以看到其余都是 35054,只有一个是 35030,对应账号密码为 admin 123456。

使用此账号密码尝试登录,登录成功!

0x04

验证码绕过(on server)

这一关需要验证码,并且是在服务端做校验。

但是有一点,验证码可以重复使用,只要不重新获取,就不会失效,这使得我们依旧可以爆破。

burp 拦截到请求后,发送到 Intruder,然后 drop 掉本次请求。

此时返回浏览器应该可以看到如下,说明请求被我们 drop 了。

然后我们在 Intruder 设置好 payload 就可以爆破,按照上一次的设置,依旧只需要设置账号和密码,验证码不用动。

0x05

验证码绕过(on client)

这个就更简单了,验证码在客户端验证,只需要输对验证码,点击登录,然后拦截请求,就可以直接爆破了,相当于无验证码。

0x06

token防爆破比较复杂一点,下次单独写一篇文章。

⑻ 靶场pikachu为什么局域网内别的机子连不上

点高级,点继续就行了。

⑼ sql注入靶场有哪些

有DVWA,pikachu,bwapp等。

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式。

所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。