靶场练习-Pikachu

暴力破解

基于表单的暴力破解:先用BP抓包,发给攻击器,把用户名密码当做变量,使用top100字典测试。得到两个账户密码。

验证码绕过基于服务器:先用BP抓包,发给重发器,通过调整重发器验证码发现不会报验证码错误,可以重发绕过。之所以没使用老师的要求的验证码识别,是因为实在没整利索,等后面在研究。百度发现有些时候可以这样操作。

验证码绕过基于客户端:这个因为皮卡丘有提示,所以简单一些了,直接在浏览器里把前端的验证删了,然后用BP抓包,再用攻击器测试就好了。

token放爆破:这个是使用音叉模式,然后使用递归,在选项里添加一个token取值范围,同时把这个token复制出来放回到第一个payload选项中。然后测试就能过了。

CSS跨站脚本

反射型get:把'>URL编码一下,然后放在url的参数里。

反射性post:按照提示操作,先登录,然后'>。

存储型:直接'>。

DOM型:F12观察了一下写入信息被放在A标签了,于是用' οnmοuseοver=alert(1)>指向就弹框(两道题都可以,其中xss-x在地址栏输入也可以)

xss盲打:直接试试看,结果过了。

xss过滤:用大小写绕过发现可以。

xss之html...:不知道正确答案是什么样的,111' οnmοuseοver='alert(1)'>,我用这句话也能弹窗。

xss之href:这个试了好久,之前的方法都不好使。我想,应该是对输入的特殊字符做了编码,只好百度一下,才想起来老师讲过Javascript:alert(1),可以这么使用。

xss之js输出:输入了上面的一些都不管用,于是F12看下代码,发现有输入判断,于是想想,能不能直接闭合判断然后再操作。发现好使,于是直接输入。

CSRF跨站请求伪造

CSRF(get):只要cookie没过期,在URL中诱骗修改数据提交就能修改,不用在表里提交。当然,如果有了有效的cookie信息,也能自己提交。

CSRF(post):好吧,这块我想到了需要自己做个页面,但是不会弄,就找百度了;度娘说需要做一个JS自动加载的网页,只要打开就会自动提交。这样改的话,确实老师讲到的游戏下载网站中带的那些网页,都很可疑。

CSRF(token):这个是真想不出来了,百度了一下BP有个CSRF Token Tracker插件可以利用,但是现实场景中暂时没想到怎么使用。

SQL注入

POST类型:我还以为先是GET型了,发现不能加引号,应该是数值型,使用1 or 1=1得到全部数据。

GET类型:前两个都比较简单,这个直接‘ or 1=1 --+过。

搜索型:不输入就没有数据,输入一个n显示所有带n的结果,说明模糊查询并不能为空,同时看到是get请求;直接在地址栏name=后面放’ or 1=1 --+过。

xx型:直接输入kobe' or 1=1 --+提示报错,有两个单引号问题,换成双引号提示没有信息;说实话,如果在实战中遇到这种问题可能就麻爪了,还好有提示是xx型,kobe') or 1=1 --+加了单括号以后就好了。

insert/update类型:按照提示先注册一个账户,不厚道的在住址放了xss;根据一个引号的报错反馈信息,cat登陆以后,住址这里改成1' where username='cat' #也可以执行,这样应该后面可以拼接别的语句;不过还是执行报错显示信息吧' or updatexml(1,concat(0x7e,(database()),0x7e),0) or '看到数据库名字是pikachu。语法:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)语法:update table set 列1=值1 , 列2=值2 ... WHERE 条件=值。

delete类型:在URL里面的ID=xx后面加上 or updatexml(1,concat(0x7e,(@@basedir),0x7e),0)可以看到数据库路径。

http header类型:使用上面的pyload,经过抓包重放测试,发现在User-Agent、Accept、Cookie位置都存在注入点。

盲注基于布尔型:首先应该还是搜索型的,同时对输入做了过滤,同时kobe' and length(database())>0#看到正常回显,假设已经根据length测出数据库名长度,应该可以用kobe' and ascii(substr(database(),变量一,1))=变量二#爆破数据库名。

盲注基于时间型:有提示就会比较简单一些,不用来回来去的式,直接kobe' and if(length(database())=0,NULL,sleep(10))#,数据库名肯定不为空,所以就会等待10秒,这样也可以给先爆破数据库长度,然后再根据长度爆破数据库名。

宽字节注入:抓包,重发器中kobe%df' or 1=1%23可以看到这个表里的所有数据,如果是手工在网页里,达到kobe運' or 1=1#效果,其中红色字体为宽字节转换的字符,类似的还有“綅,誠,縗,連”。https://www.socgo.cn/Web/Doc/Tools/GBK.html

RCE命令执行

Ping-192.168.3.1|ipconfig使用“|”执行后面的命令可以得到结果,也可以查看文件内容。

eval-试着执行phpinfo();获取到了页面,尝试写入文件,但是不会PHP写入函数,只好百度一下。fputs(fopen('webshell.php','w'),'123456'),然后蚁剑192.168.3.130/pkq/vul/rce/webshell.php连接一下就好了。暂时到这里吧。

文件包含

本地文件包含-直接更改url的内容filename=../../rce/webshell.php,还是用刚才的那个文件,或者../../../到根目录,查看系统文件信息。(结果后来看答案发现我想多了,本题目只是要查看相同目录下的文件信息)

远程文件包含-直接更改url的内容filename=http://192.168.3.130/pkq/vul/rce/webshell.php,还是用刚才的那个文件,继续用蚁剑。

不安全的文件下载

看到下载链接是http://192.168.3.130/pkq/vul/unsafedownload/execdownload.php?filename=sks.png,通过在之前phpinfo()看到的信息,使用../../../../../../../../../phpStudy/PHPTutorial/WWW/pkq/vul/rce/rce_eval.php可以下载源码。可以目录穿越,服务器上所有文件都能下载啦。

不安全的文件上传

前端检测-上传图片没问题,但是选择php文件有弹出窗口提示信息,删除js过滤,但是错误信息;折腾一溜够发现浏览器问题,换成火狐就好了,直接删除JS代码,绕过。

类型检测-可以选择PHP文件,但是上传时候报错。抓包替换Content-Type: image/jpeg,成功。

getimagesize-这个还真是折腾,先是上传报错,结果查询发现是php.ini时区问题;然后win10杀毒软件自己各种杀;最后调整好了发现copy1+2=3的图片不认,只好找网上下的马试试 ,上传以后连接时各种报错,打开图片马一通找,发现密码位置没有加单引号,修改以后就能用了;上传完毕用之前的文件包含连接蚁剑,完成。

失效的权限管理

水平越权-使用kobe登录,抓包后,把数据包的kobe改成soc,可以查看soc的信息,cookie信息没有起到作用。

垂直越权-发现admin有三个页面,只有第一个界面可以用普通用户登录、并且能进行操作,其余两个都不行。

http://192.168.3.130/pkq/vul/overpermission/op2/op2_admin_edit.php

http://192.168.3.130/pkq/vul/overpermission/op2/op2_admin.php

http://192.168.3.130/pkq/vul/overpermission/op2/op2_admin.php?id=28

目录穿越

目录遍历-这个在前面的不安全的文件下载中使用过,估计title=是根据相对路径取得文件名,然后再显示出来。phpstudy的首页是HelloWorld同级目录下有探针,通过增加../查看页面信息,title=../../../../index.php到了以后,title=../../../../phpinfo.php得到中间件信息。

敏感信息泄漏

输入不存在的账户,报账户错误,输入错误的密码,报密码错误,可以分别爆破。登录页面是findabc,显示页面是abd。另外,JS里有测试账户,这个点以后还是需要注意。

反序列化漏洞

我觉得这个应该就是来回试,先是根据提示尝试O:1:"S":1:{s:4:"test";s:29:"‘ or 1=1;#’";}被直接输出了要么有过滤要么没有连接数据库,想想这个靶场可能后者可能性较大,于是O:1:"S":1:{s:4:"test";s:29:"";}有弹框;经过测试,只有在第一个变量是test字符串时候才会对第二个字符串进行操作,先到这里吧。

XXE外部实体注入

粘不上 ,粘不上  ,粘不上  ,粘不上  。。。。。。

URL重定向

这个说起来比较简单,但开始时候我一直跳转失败,后来发现是需要把跳转的http://敲全,http://192.168.3.130/pkq/vul/urlredirect/urlredirect.php?url=http://proxy.socgo.cn

SSRF服务器端伪造

Curl-看到有url=,尝试以本地回环接口尝试连接http://192.168.3.130/pkq/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/phpinfo.php,可行;

File_get_content-看到有file=,尝试读取本地文件http://192.168.3.130/pkq/vul/ssrf/ssrf_fgc.php?file=c:\1.txt,可行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值