Paul C's Blog

To be funny,to grow up!

0%

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!D:/softwares/Python3.7
import hashlib
hash = hashlib.md5()#md5对象,md5不能反解,但是加密是固定的,就是关系是一一对应,所以有缺陷,可以被对撞出来
hash.update(bytes('paul',encoding='utf-8'))#要对哪个字符串进行加密,就放这里
print(hash.hexdigest())#拿到加密字符串
# hash2=hashlib.sha384()#不同算法,hashlib很多加密算法
# hash2.update(bytes('admin',encoding='utf-8'))
# print(hash.hexdigest())


hash3 = hashlib.md5(bytes('abd',encoding='utf-8'))
''' 如果没有参数,所以md5遵守一个规则,生成同一个对应关系,如果加了参数,
就是在原先加密的基础上再加密一层,这样的话参数只有自己知道,防止被撞库,
因为别人永远拿不到这个参数
'''
hash3.update(bytes('admin',encoding='utf-8'))
print(hash3.hexdigest())


程序流程

显示网页:要模仿原网页的标题栏、简介、输入框;

搭建一个数据库。

写一个post的存储位置;

保存用户post的用户名和密码,或者仅保存cookie。

无论用户怎么输入,均报错后跳转到正确网址。

csp的后缀映射我也懒的加了,相信域名都不关注的人也不会关注后缀的。

在Python3下安装好jupyter后

1.设置jupyter的默认运行路径

1
2
jupyter notebook --generate-config`
C:\Users[用户名].jupyter\jupyter_notebook_config.py

找到 #c.NotebookApp.notebook_dir = ‘’,去掉该行前面的“#”;在这里设置路径

2.安装Python2内核

在我的电脑上是python2.7和python3.9。其中python2.7下的python.exe被我重命名为python2。

2.1 在python2下安装ipykernel

Read more »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

# coding: utf-8



import os
import time
import datetime



path=os.getcwd()
newpath="_posts"



def TimeStampToTime(timestamp):
timeStruct = time.localtime(timestamp)
return time.strftime('%Y-%m-%d %H:%M:%S',timeStruct)


def get_FileCreateTime(file):
t = os.path.getctime(file)
ctime=TimeStampToTime(t)
return ctime[0:10]



def rename_files(path):
filelist=os.listdir(path)
for file in filelist:
filename=file.split('.')
os.rename(file,filename[0]+'.md')
print(filename[0])

#def note_code(path):

rename_files(path)

wireshark

1
2
net start npf
path %PATH%; E:\rtools\\;

注:本期内容参考tianyi网络安全公众号

1580899594410

对于*密码,dump内存获取其中内容。

本期工具

  • procdump

  • strings

  • Win32Gru/Notepad++

步骤

1.获取EasyConnect进程的PID号

Read more »

轻装前行

今天收拾杂物,搜出来许多初高中的奖状,其中大部分是初中时期获取的。

初中是我过往的生活中最努力的时候,所以那时候学习保持在最好的情形下,还能参加各种比赛、坚持运动。

在我把那些奖状一张张从封皮里扯出叠成一堆,说把这些用来擦脏处时,我爸感叹了一句,那是过去的辉煌啊。

我得过且过了很久很久,久的我都忘记了自己最大的优点是坚持,是努力。过去的荣誉属于过去的我,现在的我要获取现在的荣耀。

ADB.Miner会感染Amazon FireTV (使用FireOS 7,一个安卓分支)操作系统,利用adb安卓调试接口传播,并挖矿。

投入载荷会下载执行 hxxp://188.209.52.142/c,或者是hxxp://188.209.52.142/w。这两个脚本的区别仅在下载方式是wget/curl,下文不再区分。两个脚本的主体功能一致,包括:

  • 尝试进一步从 188.209.52.142 下载 fbot.{arch} 恶意样本;
  • 卸载 com.ufo.miner,一个类似ADB.Miner的挖矿组件;
  • 完成自身清理工作。

下载得到的 fbot.{arch} 是个mirai的变种,主要特点包括:

  • C2:musl.lib:7000,当前在EmerDNS上的解析地址为 66.42.57.45,Singapore/SG Singapore
  • 扫描和传播:针对 TCP 5555 adb 端口扫描。扫描成功后,会下载hxxp://188.209.52.142/c,完成对蠕虫自身的传播。
  • 进程清理:样本中会遍历 /proc/pid/exe 目录下面的特定进程,如smi、xig、rig等。枚举得到符合条件的进程后,会杀掉该进程。

主控域名 musl.lib 在EmereDNS上的解析

Fbot蠕虫作者选择了OpenNic公司的公共DNS服务。蠕虫中硬编码了一组OpenNic公共服务器IP地址,被感染的机器通过向这些服务器请求,得到 musl.lib 的EmerDNS解析IP。

扫描器的版本有:

1
2
3
4
5
6
hxxp://188.209.52.142/fbot.aarch64     #扫描器,下同,完成自身的蠕虫传播
hxxp://188.209.52.142/fbot.arm7
hxxp://188.209.52.142/fbot.mips
hxxp://188.209.52.142/fbot.mipsel
hxxp://188.209.52.142/fbot.x86
hxxp://188.209.52.142/fbot.x86_64

Bypass

1.特殊字符的绕过

@,#,/,?,\,\\\,//绕过。
base64加码,URL编码绕过

2.白名单绕过

白名单的:找到类似的域名,或者采用多级跳转。

3.xip.io后缀绕过

Read more »

Arnalog置乱:设置一个行列式值为1的矩阵,用它的高次幂×原来的图像。

Rust

Rust是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。
Rust在语法上和C++类似,但是设计者想要在保证性能的同时提供更好的内存安全。

CISCN

初赛

普通CTF

半决赛:

BuilldIt出题

  • Web/Bin二选一实现
  • 根据checker要求实现功能
  • 提供Docker(把Linux系统切成几瓣,启动速度极快,和开了进程一样)file进行编译和运行
  • 希望解题率?20%
  • 控制难度
    实例
    基于消息队列实现rpc(远程过程调用)服务
  • 同一个进程内调用
  • IPC机制
  • 基于网络

  • 留出的漏洞

    • 协议解析错误(各种老软件可以去找找它的漏洞,整数溢出/格式化字符串etc.
    • 计算错误
    • 条件进程,UID泄露?纯粹的栈溢出和堆溢出现实中几乎不常见
  • 发给主办方:题目源码,二进制,环境搭建

    • 环境搭建
      • Docker
      • Docker-compose
      • Xinetd
    一些命令
    • mkdir dev/null
    • makenod 建立设备
    • 把输入从std::cout和TCP流之间的转换,常用socket
    • 也可以用xinetd搭建服务

    提问:4字节的sql注入,如何执行一个4字节以上的命令或者拿到shell

    先想一下<4字节的命令,然后重定向指定文件,*重建文件

    提问:temp文件下任意读写,环境变量

    elf指定一个动态链接器目录,去该目录下的动态链接器(ld),加载链接;
    这个过程中有一个环境变量:LD_PRELOAD,用LD_PRELOAD指向我写入temp的二进制文件。hook php的start等函数,抢先注册符号。

  • 绕过php方法:

    • mail函数(新建一个进程)
    • error_log(发邮件发给我)

      BuildIt出题阶段总结

  • 开发能力
  • 代码量
  • 藏洞
    1
    2
    idx=(idx+step)%size //整数溢出漏洞,负数%正数还是负数
    a[idx]=x

    攻防赛介绍

    5分钟—15分钟一轮

    惨:被人攻破还宕机

  • 题目多为虚拟机和大型逆向

    二进制部分,过去的出题目标就是让人做不出来;但是还能过审题

    更多的考察修补

强网杯

刘彦斌(ACM更多的是密码学,数学,算法方面),对于CTF帮助极大
Bin:

  • Csapp(深入理解计算机系统)
  • 程序员的自我修养—链接、装载和库
    Web:
    • Web前端(jss,nodejs)
    • Web后端

基础->实践->基础(抽象代数,离散,线代,体系结构)

看代码!!!(足够多/更熟练)

  • 课上课下两步走(学长用了两年,国际前10)

    读项目方法?

  • 文档+代码+调试
  • 最好的方法,碰到了CTF题

靠猜做的题可以完全不用做

战队沟通

  • 微信备选
  • Slack首选
  • 共享文档(关键,同步进度)

    -石墨,Google文档

    如何参赛

    人员分配&&题目选择
    跟榜~
    题目分配~(中等题目比较简单)