[bugku web部分]wp

cookies欺骗

打开后是该地址:在这里插入图片描述
其中filename用base64解码后为keys.php 我们尝试讲其换成index.php的base64编码
在这里插入图片描述
将地址转换并改变line的值为2/3/4…时发现页面出现了一行一行的代码。我们可以写一个python脚本将所有代码提取出来(当然也可以一个一个试然后抄下来


import requests  
i=30
for i in range(i):
    url="http://123.206.87.240:8002/web11/index.php?line="+str(i)+"&filename=aW5kZXgucGhw" 
    a=requests.get(url)
    print(a.text)

最终拿到的代码如下:

在这里插入图片描述
可以推测是cookie的参数margin=margin是可以访问keys.php
我们打开keys.php通过base64编码的地址后用burpsuite添加一个cookie参数
在这里插入图片描述
在这里插入图片描述
go一下就能拿到flag

管理员系统

在这里插入图片描述
跟很多人的思路一样,刚开始以为是sql注入,写了几个注入语句都没什么反应,没找到漏洞,只好想其他的办法。(指遇事不决F12)
F12了一下发现:
在这里插入图片描述
有一个base64的编码,放到base64解密为test123,推测可能是密码,就试了一下username和password都是test123的情况。
在这里插入图片描述
IP禁止访问,联系本地管理员登录,想到可能涉及伪造管理员IP登陆。
于是转移到火狐,打开burp抓包,发送到repeater(太久没用burp都忘了怎么玩 无语 浪费好长时间
在这里插入图片描述
这里涉及一个问题,如果没有猜到管理员username是admin,密码是test123的话是出不来flag的(导致我用错误的账号密码抓包抓了好久) 正确的步骤应该是输入正确的账号密码,抓包,发送到repeater,在header里添加关键值,即 X-Forwarded-For 的值为127.0.0.1,再直接go 得到flag。

在这里插入图片描述

输入密码查看flag

在这里插入图片描述

打开网页如图。baopo已经写在上面了!

随便输入一个密码,burp抓包,发送到intruder模块。
在这里插入图片描述
这里position部分配置的时候好像要注意一下,用clear把POST那里的符号去掉,并且在pwd那里加上符号。如图配置应该就可以了。
在这里插入图片描述
payloads选择。类型选择numbers,五位数密码,选择从10000到99999顺序爆破。下面的选项要先选择Hex再重新点击Decimal,好像是软件的bug,不然会出现invalid number settings。
配置完成之后开始爆破就可以了!

在这里插入图片描述
发现一个长度不一样的就是密码,13579,输入就能拿到flag

学生成绩查询

很经典的sql注入问题!挖个坑,下次还要复习sql的语法。
在这里插入图片描述
依次输入1,2,3,都有回显出学生的成绩,输入4无回显,说明现在数据库内有三条学生的成绩。数据库的问题可以找一下有无sql漏洞。
在这里插入图片描述
输入1’ ,无回显,输入1‘# 显示正常,说明这里存在一个sql注入漏洞。
在这里插入图片描述
这里应该用一个order by来判断有几个字段数,我看到很多师傅的博客这样写应该是有回显的,但是我自己试了很多次都是异常…(留坑) 正常情况应该是到order by 4 都有正常回显,order by 5异常,说明有四个字段数。
在这里插入图片描述
下一步用union select 联合查询。记得要将前面id的数值清空。(单引号一定要是英文的!)这里得到的skctf_flag就是database的名字。
在这里插入图片描述
这一句sql语句构造:

id=' union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database()#

是获取table_name,即fl4g,sc是表名。

在这里插入图片描述
这里爆字段名。用的语句是:

id=' union select 1,2,3,group_concat(column_name)from information_schema.columns where table_name='fl4g'#

得到的字段名skctf_flag

在这里插入图片描述
最后一步从字段中查询数据,用到的语句:

id=' union select 1,2,3,skctf_flag from fl4g#

秋名山老司机

在这里插入图片描述
拿到题目,是要在两秒内算出值然后传回去。所以肯定是要写一个脚本来算啦。

import requests
import re
s=requests.Session()    # 实例化session
r=s.get("http://123.206.87.240:8002/qiumingshan/")        #跨请求保持会话
searchObj=re.search(r'(\d+[+\-*])+(\d+)', r.text)   # 扫描整个字符串,返回匹配
d={"value":eval(searchObj.group(0))}   # 创建一个字典
r=s.post("http://123.206.87.240:8002/qiumingshan/",data=d)
print(r.text)
# r.text 是服务器返回页面的内容


  • session:session是浏览器和服务器的交互对话。requests里的Session模块实际上是一个跨请求保持会话,可以保持某些参数,再次用session登录的时候会默认使用该session之前使用的cookie等参数
  • 这里用正则表达式匹配出了网页中的算式。计算后通过post返回。
  • eval函数可以将一个字符串作为参数,并将这个字符串作为脚本代码执行。
    实例:
eval("2+3");   #执行加运算,并返回运算值。

需要多运行几次,就会输出结果。
在这里插入图片描述

Web4

在这里插入图片描述
那就看看源码吧!源码的两段是url编码,可以直接到在线编码网站解密。
根据他的提示,p1=function checkSubmit(){var a%3ddocument.getElementById(“password”)%3bif(“undefined”!%3dtypeof a){if("67d709b2b

’%35%34%61%61%32’ + p2=54aa2aa648cf6e87a7114f1"%3d%3da.value)return!0%3balert(“Error”)%3ba.focus()%3breturn!1}}document.getElementById(“levelQuest”).onsubmit%3dcheckSubmit%3b

我们把他连起来写的好看一点:

function checkSubmit()
{
var addocument.getElementById("password")
if("undefined"!type of a)
{if("67d709b2b54aa2aa648cf6e87a7114f1"==a.value)
return!0alert("Error");
a.focus()return!1}}document.getElementById("levelQuest").onsubmit=checkSubmit;

啊这 有的地方%3d解码不出来… 但是我们稍稍整理一下,就能发现

{if("67d709b2b54aa2aa648cf6e87a7114f1"==a.value)

这句就是重点。
用md5解密
在这里插入图片描述
其实直接放到网页里submit就能拿到flag
在这里插入图片描述

网站被黑

在这里插入图片描述
既然是实战中常用的技巧,先用御剑扫描一下后台
在这里插入图片描述
发现后台还有一个shell.php,进去看一下
在这里插入图片描述
试了几个弱密码都不对,只好用burp爆破
在这里插入图片描述
爆破的时候出现了一个小问题,因为我是初学没搞懂原理,在这稍微提一下。爆破的时候要在输入随便一个密码的submit的时候抓包,payload position部分的 $ 指的是有效攻击载荷,也就是说你要爆破什么,就在什么两边加上 $ 。比如上图的pass。
爆破的字典,就是自己的一些积累和burp自带的字典就可以。
在这里插入图片描述
得到密码是hack
在这里插入图片描述
拿到flag

Never give up

在这里插入图片描述
在源码里看到1p.html ,打开他看一下
在这里插入图片描述
发现直接跳转到了bugku 的首页。只能在网址前面加上view-source: 查看源码。
打开view-source:http://123.206.87.240:8006/test/1p.html
在这里插入图片描述
在这里打开源码,可以先进行一次url解码
在这里插入图片描述
这里看出应该还有一次base64编码,再次解码
(这里其实还有一些%没有解码,也不知道为啥,在后面base64解码的时候手动把那些%的部分去掉了)
在这里插入图片描述
解码完毕发现还有一层url编码…
在这里插入图片描述
解码过程可能出了点问题,有很多的%没有完全解码。但是还是可以看见一个完整的f4l2a3g.txt 所以打开看一下
在这里插入图片描述
打开文本文件就出现flag

字符?正则?

在这里插入图片描述
题目意思还是很清楚的,构造一个符合要求的正则字符串
这里留个坑!过段时间来写下有关正则表达式的东西
总之构造有很多方式,加上?id=就可以看到flag

http://123.206.87.240:8002/web10/?id=keypppkeyqqqqqkey:/i/jkeyb!

在这里插入图片描述
ook
1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值