PCB Blog

Happy Coding


  • Home

  • Tags

  • Categories

  • Archives

llvm:Call Graph And Control Flow Graph

Posted on 2017-05-20 | Edited on 2018-12-23 | In llvm
前言最近对llvm框架进行了初步的了解,才体会了llvm真正的魅力。它不仅是一个编译器框架,更是研究者们研究程序的一个有力的工具。本篇文章主要介绍一下如何对llvm的中间语言IR进行处理从而生成Call Graph(CG)和Control Flow Graph。 Call GraphCall Gra ...
Read more »

SeedLab:Web XSS

Posted on 2017-05-16 | Edited on 2018-12-23 | In 网络

环境配置:

  • 启动apache2服务:sudo service apache2 start
  • 配置Apache服务,在/etc/apache2/sites-available/default中,配置如下:

实验内容:

Task 1:显示Alert窗口

在用户名boby下的修改信息这一网页中,在个人说明中插入alert信息:

1
<script>alert(‘XSS’);</script>

Read more »

SeedLab:Remote DNS Attack

Posted on 2017-05-16 | Edited on 2018-12-23 | In 网络

实验环境:

服务器ip:192.168.86.139

Victim ip: 192.168.86.137

Attacker ip:192.168.86.138

Read more »

SeedLab:TCP/IP Attack

Posted on 2017-05-16 | Edited on 2018-12-23 | In 网络

实验环境:

该实验环境是在同一个局域网下完成的,完成整个的实验需要三台机器,这三台机器的ip和mac地址如下所示:

机器1: 192.168.47.174 mac: 00:0c:29:08:4f:9c

机器2: 192.168.47.175 mac: 00:0c:29:4c:5e:ff

机器3: 192.168.47.176 mac: 00:0c:29:1c:41:17

这三台机器的默认网关:192.168.47.2

操作系统:ubuntu 12.04 32位

所使用的工具:netwox, hunt, wireshark

Read more »

seedLab:returnToLibc

Posted on 2017-05-16 | Edited on 2019-07-12 | In binary

声明

该教程是根据Seed Lab: return-to-libc的实验要求所写的,该教程只是演示了一下return-to-libc的一些基本的攻击原理,由于关了编译器及系统的一些保护措施,所以并不能在实际的情况下实现攻击(′▽`〃)

一:背景介绍

DEP数据执行保护

溢出攻击的根源在于现代计算机对数据和代码没有明确区分这一先天缺陷,就目前来看重新去设计计算机体系结构基本上是不可能的,我们只能靠向前兼容的修补来减少溢出带来的损害,DEP(数据执行保护,Data Execution Prevention)就是用来弥补计算机对数据和代码混淆这一天然缺陷的。DEP的基本原理是将数据所在内存页标识为不可执行,当程序溢出成功转入shellcode时,程序会尝试在数据页面上执行指令,此时CPU就会抛出异常,而不是去执行恶意指令。DEP 的主要作用是阻止数据页(如默认的堆页、各种堆栈页以及内存池页)执行代码。所以一般的将shellcode存放到栈中并将shellcode执行的方式在这种机制中是不可行的。

在Linux中,通常在编译的时候添加 -fno-stack-protector -z noexecstack 编译选项就会开启该模式,在该模式下,不能像以前的攻击将恶意代码overflow进栈中,并将return地址指向恶意代码开始处,在这种情况下应该借用系统库的调用从而达到提权等目的。

Read more »

openGL_Rebort

Posted on 2017-05-16 | Edited on 2018-12-23 | In 计算机图形学

该项目使用opengl做的一个机器人,能够行走,旋转,并对机器人贴了图。具体源码请参考我的github

实验环境:visual studio 2015

Read more »

Bomb

Posted on 2017-05-16 | Edited on 2019-07-12 | In binary

x86上的二进制炸弹对于反汇编的练习来说还是比较经典的,由于网上有很多该程序的讲解,所以在此我打算写一下arm平台上的二进制拆炸弹这个游戏。

环境的搭建

  • 由于是arm平台的环境,所以需要在linux环境下安装一个模拟器,在此我选择了qemu该模拟器,具体操作如下(该操作对Ubuntu环境有效,其他linux版本可自行查找方法)

    sudo apt-get install qemu-user

  • 运行ARM指令集模拟器并运行开启gdbserver和运行bomb_1程序

    qemu-arm -g 8009 bomb_1

其中,-g参数是为了添加调试信息,为了使远程gdb调试能够起作用,8009为自定义的端口号。

  • 另外启动一个终端,通过命令远程开启gdb调试器并加载待调试程序。

    arm-linux-gdb bomb_1

  • 输命令来连接模拟器中的gdbserver

    target remote localhost:8009

  • 辅助工具IDA pro。IDA pro是一款静态分析的反汇编工具,利用它可以查看数据段的具体数据,用起来十分方便。

Read more »

Raytracing

Posted on 2017-04-13 | Edited on 2018-12-23 | In 计算机图形学

题目要求

本程序是根据Raytracing的要求所写。

该题目要求根据其所给的框架程序来实现raytracing的功能。

Read more »

XposedHook:hook敏感函数

Posted on 2016-08-16 | Edited on 2018-12-23 | In Hook

Xposed框架

Xposed框架通过修改Android系统的源码,并替换Android的主程序Zygote(Init 是所有Linux程序的起点,而Zygote于Android,正如它的英文意思,是所有java程序的’孵化池’),从而能够控制Android进程的执行流程,hook java层的API。

Read more »

github添加ssh秘钥

Posted on 2016-04-16 | Edited on 2018-12-23
在windows下git push时由于每次都要提示输入用户名,密码,确实很繁杂,我们可以在windows下生成ssh秘钥,并将公钥放到github上,这样每次git push时就会自动匹配github上的公钥和自己机器上的密钥,从而避免自己输入用户名,密码。 首先下载git客户端,这里提供一个下 ...
Read more »
1…345
binpang

binpang

42 posts
13 categories
32 tags
RSS
GitHub E-Mail
© 2016 – 2019 binpang
Powered by Hexo v3.8.0
|
Theme – NexT.Mist v6.6.0