Xi4or0uji's blog

Xi4or0uji's blog

2019 hgame week1
谁吃了我的flag这题题目的前半个flag提示了是泄露扫一下泄露可以扫出来.swp泄露,访问一下index.html.swp可以下载到一个文件,打开就能看到flag了 换头大作战跟着题目的要求全部换好就有flag了 very easy web源码1234567891011121314<?phperror_reporting(0);include("flag.php");if(strpos("vidar",$_GET['id'])!==FALSE) die("<p>干巴爹</p>");$_GET['id'] = urldecode($_GET['id']);...
n1ctf writeup
之前在学其他知识点的时候看到了这个比赛,顺便学一哈 77777这题的关键点在这一段代码上waf过滤了很多,但是like没有过滤,所以可以用like注入去获得password字段假如我们传过去的flag是123,hi是where (password like 0x25)查询语句就会变成1update users set points=123 where (password like 0x25) 这时分数变成了123,如果我们匹配一个错的字符分数会不变,因此就是like盲注,脚本如下12345678910111213141516171819202122232425import reque...
javascript原型链污染
前几天大佬们培训讲到了一个没怎么听过的东西,记一记做个笔记。 原型对象介绍肉鸡只是一个小后台,对于前端真的不怎么会,先介绍一哈在javascript里面只有一种结构,那就是对象,每个对象都会有一个原型对象,每个原型对象引申出其对应的原型对象,经过一层层的调用,就形成了原型链。这句话讲得有点难懂,肉鸡大概理解下,可以理解成每个类都有父类,父类下面又会有子类,一层层调用过去其实就是他说的原型链的过程。实例的对象可以通过__proto__去访问它的原型对象。原型对象的重点是null。 原型链污染小演示可以看到字符b的indexof方法被赋值以后,字符a调用indexof方法的时候,也会...
lctf babyphp's revenge
题目源码很短,就几行1234567891011121314151617181920index.php<?phphighlight_file(__FILE__);$b = 'implode';call_user_func($_GET['f'],$_POST);session_start();if(isset($_GET['name'])){ $_SESSION['name'] = $_GET['name'];}var_dump($_SESSION);$a = array(reset($_SESSION),'welcome_to_the_lctf2018');...
flask之ssti模板注入
以前做题学过一些ssti,但是感觉不够深入,整理一下,算个总结吧 漏洞介绍ssti,服务器端模板注入,主要是python或者其他语言在渲染模板的时候,由于代码不规范或者信任了用户的输入,使得模板可控。简单来说就是,模板里面有些用户输入的东西,但是程序员在渲染模板的时候,没有检查用户输入的东西是不是都是善意的,于是就被用户拿下了这个模板做坏事了。举个栗子我们现在有这样一个模板,emmm,顺便说一句,模板其实就是一个html而已123<html><div>{$name}</div></html> 在这个模板上有一个nam...
xxe漏洞攻击与防御
最近在学xxe,当做个笔记好了 XML讲xxe之前先讲xml,毕竟xml是基础。xml是个神奇的东西,用来传输和存储数据,你可以理解成类似sql在数据库拿东西一样,xml也是一个可以拿东西的玩意儿。但是它注重数据的内容:它说明数据是什么,以及携带的数据信息。 XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素12345678910111213141516171819<!--xml声明--><?xml version="1.0"?><!--文档类型定义--><!DOCTYPE note [ <!--定义此文档时候no...
2018高校运维赛wp
Simple BBS登录处没有过滤单引号,且没有报错信息,利用报错注入注出flag1admin'union select (extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables),0x7e)))# 尝试一下读一下flag,发现限制了长度,利用substr进行读取1admin'union select (extractvalue(1,substr((select flag from flag),20,40),0x7e)))# Simple Blog题目提示了一下是...
suctf招新赛wp
招新赛这段时间刚好撞上一堆其他比赛,肉鸡肝不动了,趁着这几天平台还没关赶紧做一下。 where are you from level1这题点进去看见hello from + 本机ip地址,而且提示only guest from 127.0.0.1 can get flag of level1,抓包将client-ip改成127.0.0.1就有flag了 include me这题点进去可以看到一个改变语言的选择框,选下其他的发现除了语言有变化,网站连接的后面lang的值也会改变,可以想到这是一个文件包含的点尝试一下进行伪协议利用,?lang=php://filter/read/co...
很简单的xss
继续是校赛题,这题我们进去看到一个留言框,然后题目提示写下建议,管理员会去看的,结合题目,确定是反射型xss了,尝试一下插入一下js语句进留言板,发现没反应,看下源码发现尖括号被转义了………emmm………看来想直接简单粗暴的利用是不行的了,继续回去上一页看一下,看见有个选择框,可以选择字体的样式,抓下包改下值成1212,发现在下一个页面的style属性里面有1212………..嗯,这波操作有丶东西,style属性里面的语句可控,就可以搞事情了,因为现在的浏览器版本比较高,尝试了一下直接利用js伪代码发现不行,只能一个个匹配然后弹回去自己的平台最后脚本1234567891011121314i...
你拿不到我的源码
传送门:http://laohulaohuhu.cn:32771/guest登录进去就看到一个很明显的文件包含点,filter读一下index.php那些文件出来解密居然是乱码的……..我佛辣…….然后尝试一下读多几个文件出来,发现开头都是<@rkt,很像<?php,看一下字符的ascii码,发现第n个位置的字符的ascii码减去n-1就可以正常解密了,但是要注意一下不能超过128,给个脚本123456789import base64strs = "待解密字符"res = base64.b64decode(strs)str2 = ""i = 0for c in res: ...
avatar
Xi4or0uji
一只还在路上的小蒟蒻的博客