0%

java反序列化应该算是java web中最有代表性的一类安全性问题了,因为之前面试也被问到过,这两天好好研究一下。

Demo代码

参考”Java反序列化漏洞从入门到深入”一文,具体流程为:1)序列化不安全的类(攻击者所要做的);2)脆弱程序反序列化不安全的类;3)恶意代码被执行。

阅读全文 »

上周无意在BOSS直聘上发了简历,结果山石网科来电话面试。当时晚上八点,我正在回家的地铁上,很冷,又因为第一次面试有点紧张,自己感觉很多问题答得不好,这里尽量回忆面试内容,希望下次能够做好准备。

Q1:说一下渗透一个网站的具体流程

首先信息收集,判断网站是否有CDN,接着了解整个网站的工作流程,接着扫描端口,看看有什么弱服务,比如Redis弱口令,接着我会找逻辑漏洞,比如说密码重置。(最重要的OWASP TOP 10居然忘了讲)

阅读全文 »

在研究安卓安全时,很多情况下我们需要修改安卓源代码(如动态调试时过掉反调试机制)。LineageOS是根据Android官方源码修改后的版本,对很多手机都适配,因此编译该版本的源码比直接编译AOSP的更加有意义。本文简要说明一下编译LineageOS的步骤。更详细的步骤说明请参考官方文档: https://wiki.lineageos.org/build_guides.html

阅读全文 »

Geth搭建公有节点

Geth搭建公有节点主要是因为实验室有获取区块数据这一需求,因此这里记录一下如何建立一个公有链节点并暴露其json-rpc供其他人调用:

1
geth --syncmode=light --datadir "./public_chain"  --rpc --rpcaddr "127.0.0.1"  --rpcport "8545"
阅读全文 »

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中的易于使用,所以也是处理数值分析问题的最后杀手锏.

阅读全文 »