bugku web篇(三)

简介: bugku web篇(三)

bugku web篇(三)

login1

提  示: hint:SQL约束攻击

描  述: 来自skctf

没有账号——注册

约束攻击:涉及到空格和 varchar(n)

所以先试试 admin 加空格注册,猜 varchar(5),尝试可以注册,所以我们相应使用“admin ”注册

登陆时后台匹配时 "admin " 与 “admin” 等同,因为约束去掉了后面多余的空格,直接登录得到 flag

你从哪里来

抓包添加

referer:http://www.google.com

文件上传

My name is margin,give me a image file not a php

http://ip/upload/bugku06062523_2836.php4

更换木马在次连接成功

编码设置UTF-8

链接类型php

flag{648214ddd66e0a562dc55538db3b1656}

各种绕过哟

描  述: 各种绕过绕过总结

<?php
highlight_file('flag.php');
$_GET['id'] = urldecode($_GET['id']);
$flag = 'flag{xxxxxxxxxxxxxxxxxx}';
if (isset($_GET['uname']) and isset($_POST['passwd'])) {
    if ($_GET['uname'] == $_POST['passwd'])
        print 'passwd can not be uname.';
    else if (sha1($_GET['uname']) === sha1($_POST['passwd'])&($_GET['id']=='margin'))
        die('Flag: '.$flag);
    else
        print 'sorry!';
}
?>

id、uname通过get方法传值,passwd通过post方法传值且如果想要进入内层循环必须传入uname和passwd

uname和passwd弱类型不相等

uname和passwd加密后的值强相等

id字段url解码后=‘margin’

通过简单的梳理本题的思路已然明了,id字段只是迷惑,‘margin’解码后的值仍然是’margin’,要满足2和3只需要利用sha1函数无法处理数组的特性即可。当对sha1()函数传入数组时会返回null,由此,只需要传入两个不同的数组即可成功绕过。

相关文章
|
9月前
|
JavaScript 前端开发
Bugku CTF web 你必须让他停下来 解题思路
Bugku CTF web 你必须让他停下来 解题思路
49 2
|
9月前
Bugku CTF web GET 解题思路
Bugku CTF web GET 解题思路
63 0
|
9月前
bugku ctf Web POST 解题思路
火狐插件HackBar
80 0
|
Linux PHP 开发工具
bugku web篇(一)
bugku web篇(一)
122 0
bugku web篇(一)
|
安全 JavaScript Shell
bugku web篇(二)
bugku web篇(二)
205 0
bugku web篇(二)
|
程序员 Shell PHP
CTF BugKu平台———(Web篇②)
CTF BugKu平台———(Web篇②)总结
278 0
CTF BugKu平台———(Web篇②)
|
Shell PHP 开发工具
CTF BugKu平台—(Web篇①)
CTF BugKu平台—(Web篇①)
501 0
|
2天前
|
存储 安全 前端开发
第五章 跨域资源共享(CORS):现代Web开发中的关键机制
第五章 跨域资源共享(CORS):现代Web开发中的关键机制
|
4天前
|
设计模式 开发框架 数据库
Python Web开发主要常用的框架
【5月更文挑战第12天】Python Web开发框架包括Django、Flask、Tornado和Pyramid。Django适用于复杂应用,提供ORM、模板引擎等全套功能;Flask轻量级,易于扩展,适合小型至中型项目;Tornado擅长处理高并发,支持异步和WebSockets;Pyramid灵活强大,可适配多种数据库和模板引擎,适用于各种规模项目。选择框架需依据项目需求和技术栈。
121 2
|
1天前
|
数据安全/隐私保护
那些酷炫的网页你也可以做到——第六篇,小型公司web开发
那些酷炫的网页你也可以做到——第六篇,小型公司web开发