0%

2018“安恒杯”WEB安全测试秋季资格赛,被老板批评“只会写文档的黑客”后,赶快刷几题找回点自信Orz。

奇怪的恐龙特性

进入靶机,可以看到网页源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php 
highlight_file(__FILE__);
ini_set("display_error", false);
error_reporting(0);
$str = isset($_GET['A_A'])?$_GET['A_A']:'A_A';
if (strpos($_SERVER['QUERY_STRING'], "A_A") !==false) {
echo 'A_A,have fun';
}
elseif ($str<9999999999) {
echo 'A_A,too small';
}
elseif ((string)$str>0) {
echo 'A_A,too big';
}
else{
echo file_get_contents('flag.php');

}

?> A_A,too small
阅读全文 »

一开始看这题满脑子想的都是用异或来做,结果发现没办法调用getflag函数,看了别人的wp才发现思路错了。

错误思路

毕竟这个思路也蛮清奇,大概说一下吧:

思考这一个题目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if(isset($_GET['code'])){
$code = $_GET['code'];
if(strlen($code)>135){
die("Long.");
}
if(preg_match("/[A-Za-z0-9]+/",$code)){
die("NO.");
}
@eval($code);
}else{
highlight_file(__FILE__);
}
function getFlag()
{
echo "Flag";
}
阅读全文 »

本文首次发表在Freebuf上,本文只做归档用。

整形溢出(Arithmetic Issues)

如下代码,如果没有assert判断,那么sellerBalance+value可能会超出uint上限制导致溢出。

1
2
3
4
5
6
7
8
9
10
11
pragma solidity ^0.4.15;
contract Overflow {
uint private sellerBalance=0;

function add(uint value) returns (bool, uint){
sellerBalance += value; // complicated math with possible overflow

// possible auditor assert
assert(sellerBalance >= value);
}
}
阅读全文 »

2018年网鼎杯,emmm,好不容易看到个算法题还花了很长时间,太难过了T_T

二叉树

0x01

下载题目后,得到一张红黑树的图片和README.txt. 将readme进行base64解码可以得到hit:

1
2
3
4
5
6
1.这是一棵红黑树
2.树从1-59上的果子依次为 ek`~3c:gf017b744/b38fd~abm7g5489e2{lf6z8d16hae`98}b|-21m.e:
3.依次从树上取走第 18,35,53,50,14,28,19,6,54,36 个果子,过程中保持红黑树性质不变
4.tmpflag为第 8,56,47,37,52,34,17,8,8,29,7,47,40,57,46,24,34,34,57,29,22,5,16,57,24,29,8,12,57,12,12,21,33,34,55,51,22,45,34,31,1,23 个果子
5.flag为 tmpflag 红色果子 ASCII +1 , 黑色果子 ASCII-1
6.让我们愉快的开始获取flag吧
阅读全文 »

A Simple CMS

看到网站是OneThink做的,百度搜了下该CMS存在漏洞,参考文章过程即可得到flag。但是其中的缓存文件做了修改,需要在本地复现一下,确定缓存文件名。

0x00

扫描网站敏感目录,发现www.zip文件:

www.zip

0x01

下载文件,在本地构建复现环境,首先删除onethink/onethink/Application/Install/Data/install.lock文件,然后访问install.php

阅读全文 »

我刚接触神经网络的那会它还没有像现在那么火热,当时我对它的效果很不屑,因为它在小样本的时候效果很差,但是到了研究生阶段再次遇到它的时候我对它有了新的认识,包括其内部的算法,有时间的话会另开一文再议,本文为16年我在数学建模中对神经网络算法的理解。

简介

神经网络与之前的模拟退火,遗传算法并称为三大智能算法.但其与后两者的功能完全不同.他所解决的不是优化问题,而是类似于拟合,插值的问题.
虽然其算法理论复杂,但是由于在MATLAB中的易于使用,所以也是处理数值分析问题的最后杀手锏.

阅读全文 »

遗传算法是求解近似最优解的最具代表性的智能算法之一,如今的很多方法都可以看到它的影子,比如说之前在研究的基于覆盖率的fuzz测试,其中的输入变异就类似于遗传算法,故从旧博客搬运来。

简介

遗传算法在外部体现同模拟退火一样,也是属于优化问题的一个求解器.但由于其优异的收敛速度和比模拟退火更优秀的结果,在对结果要求高的题目上,它也成为我们求解问题的常用方法.

阅读全文 »

一篇很久之前写的文章了,不过过了这么多年,模拟退火由于其效果和实现简单的优势,依然是智能算法中一个比较热门的算法,故老博客搬运而来。

简介

模拟退火算法从外部来看就是一个优化问题的解析器,我们给他传递初始解和产生新解的方法,它就能不断产生新解,并比较最终返回一个近似最优解.由于数学建模对算法的时间限制不严,而模拟退火又较易于实现,因此它也是数学建模里较常用的一种智能算法.sa

阅读全文 »

数学建模过去很多年了,但是YALMIP工具箱的易用性仍然让我影响深刻,用过这个之后再想想现在用的z3约束求解真的是弱爆了,什么时候Python上面能有一个那么好用的规划工具就好了>_<

简介

规划问题可以算是数模竞赛常见的问题(作为信工院的小白,实在佩服数科院的牛人们能把任何问题搞成优化问题).由于MATLAB自带的规划工具箱并不好用,部分同学不得不用Lingo等软件专门解决规划问题,但Lingo的语法可读性并没有matlab好.YALMIP解决了这个问题.

阅读全文 »

声明:此方法仅供学习交流,严禁用于非法用途,否则后果自负!!!

这是一个15年的博文了,因为这两年DNS带外数据的研究比较火,因此将此文从旧的博客搬运来。

DNS隧道实现原理

常见的热点都需要登录才能够上网, 而提供热点的ISP对热点的DNS查询服务并不作限制, 这样我们就可以在利用DNS查询机制传递信息.

阅读全文 »