OSCP
写写打靶记录。
主机探测IP 探测1234567891011C:\Users\Yongz\nmap# nmap -sn 192.168.110.0/24Starting Nmap 7.92 ( https://nmap.org ) at 2022-04-25 11:08 中国标准时间Nmap scan report for 192.168.146.20Host is up (0.00025s latency).MAC Address: 00:0C:29:D3:73:91 (VMware)Nmap scan report for 192.168.146.254Host is up (0.00s latency).MAC Address: 00:50:56:E0:72:82 (VMware)Nmap scan report for 192.168.146.1Host is up.Nmap done: 256 IP addresses (3 hosts up) scanned in 21.93 seconds
判断出 192.168.146.147 为靶机 IP 地址。
服务探测1 ...
JIS-CTF_VulnUpload
写写打靶记录。
靶机地址:https://www.vulnhub.com/entry/jis-ctf-vulnupload,228/
本靶场主要任务:找到 5 个 flag。
主机探测IP 探测1234567891011C:\Users\Yongz\nmap# nmap -sn 192.168.146.0/24Starting Nmap 7.92 ( https://nmap.org ) at 2022-04-25 11:08 中国标准时间Nmap scan report for 192.168.146.147Host is up (0.00025s latency).MAC Address: 00:0C:29:D3:73:91 (VMware)Nmap scan report for 192.168.146.254Host is up (0.00s latency).MAC Address: 00:50:56:E0:72:82 (VMware)Nmap scan report for 192.168.146.1Host is up.Nmap done: 256 IP add ...
Upload-Labs 问题解决
这算是篇老文章,之前也只是线下发给学生,不过这个问题也是蛮多人问的,就直接放博客上。
需要注意的是,如果采用直接 c0ny1 大佬的靶场环境的话,这篇文章可以直接忽视!
大佬靶场环境地址:https://github.com/c0ny1/upload-labs/releases/tag/0.1
PhpStudy 问题
对于新版小皮也就是 PhpStudy_Pro 8.1 来说,不知什么原因 .htaccess 文件与 httpd.conf 配置无法修改对应配置,所以需要使用旧版小皮。
目前本人所用版本为
PhpStudy_Pro 8.1
PhpStudy 2018
下表为本人测试得出可用版本(不一定准确),文件上传关卡建议:PhpStudy 2018 + php5.4.45
注意:PHP 配置那关需要换到 其他 phpxxxnts 版本。
PhpStudy Version
PHP Version All
.htaccess
.user.ini
Apache 未知后缀解析
大小写
PhpStudy_Pro 8.1
php5.2.17nts、php5.3. ...
DNSlog 注入
DNSlog 原理
DNSlog 注入的原理:攻击者注册了某个域名,将这个域名绑定到了某个 IP 的服务器上并设置了泛解析,当受害机器访问这个域名的任何一个子域名时,攻击者的服务器都会收到请求并记录 DNS 解析。
以下测试采用临时 DNSlog 站点:http://dnslog.pw/
获取到子域名之后,在本机尝试 Ping 一下:
123456789101112C:\Users\Administrator>ping csaahec1.dnslog.pw正在 Ping csaahec1.dnslog.pw [148.135.96.159] 具有 32 字节的数据:来自 148.135.96.159 的回复: 字节=32 时间=167ms TTL=128来自 148.135.96.159 的回复: 字节=32 时间=172ms TTL=128来自 148.135.96.159 的回复: 字节=32 时间=166ms TTL=128来自 148.135.96.159 的回复: 字节=32 时间=189ms TTL=128148.135.96.159 的 Ping 统计 ...
宽字节注入
字节概念
单字节(Single-byte):单字节是指每个字符使用一个字节(8位)进行表示的字符编码方式。在单字节编码中,每个字符都占用相同的存储空间,这种编码方式适用于字符集较小的情况。常见的单字节编码包括 ASCII 编码和 ISO-8859 编码系列。
多字节(Multi-byte):多字节是指每个字符使用多个字节进行表示的字符编码方式。在多字节编码中,不同的字符可以占用不同长度的字节,可以表示更多的字符。常见的多字节编码包括UTF-8和GB2312编码。
宽字节(Wide character):宽字节是指每个字符使用固定长度的两个字节进行表示的字符编码方式。宽字节编码通常用于Unicode字符集的表示。在宽字节编码中,每个字符都占用相同的存储空间,通常使用16位表示一个字符,可以表示更多的字符。常见的宽字节编码包括UTF-16和UCS-2编码。
在中国,常用的宽字节有:GB2312、GBK、GB18030。
注:严格来说,GB18030 不算宽字节,但是兼容 GBK、GB18030。
MySQL 宽字节
在开发网站过程中,一些程序员为了防止 SQL 注入,会使用反斜杠 \ ...
二次注入
二次注入原理
二次注入的原理:在第一次进行数据库插入数据的时候,仅仅只是使用了 addslashes 或者是借助 mysqli_real_escape_string 对其中的特殊字符进行了转义,但是 addslashes 有一个特点就是虽然参数在过滤后会添加 \ 进行转义,但是 \ 并不会插入到数据库中,在写入数据库的时候还是保留了原来的数据。
如下代码所示:
12345678910<?phperror_reporting(0);$con = new mysqli();$con->connect('localhost', 'root', 'root', 'security', '3306');$username = mysqli_real_escape_string($con, $_GET[1]);$pass = mysqli_real_escape_string($con, $_GET[2]);$sql = "insert into users (usernam ...
MySQL 文件读写
如果数据库的配置权限不当,攻击者可以通过 SQL 语句读写文件来进行进一步攻击以获取更多的权限,如读取网站配置文件、修改注册表文件、写入木马等。
读写权限判断/设置
MySQL 读写关键字段:secure_file_priv
secure_file_priv 关键值:
取值
含义
null
表示不允许读取/写入
dir
表示读取/写入限制在特定目录下
空值
表示读取/写入可以在任意目录下
权限查看:
123456789101112131415mysql> select @@secure_file_priv;+--------------------+| @@secure_file_priv |+--------------------+| NULL |+--------------------+1 row in set (0.00 sec)mysql> show variables like "secure_file_priv";+--------- ...
XSS-Game
本篇文章参考:https://www.sqlsec.com/2020/01/xss.html
在很久很久以前,就接触到了 XSS 部分的内容,当时用的 Github 上下载的源码进行的,最近打算翻新一下这部分知识。
但是 Github 上的源码好像下架了,这里使用国光大佬的整理过的。
项目地址:https://github.com/sqlsec/xssgame
直接解压源码到 HTTP 服务的目录下,浏览器直接访问即可,无需配置数据库等信息:
Level-1
漏洞源码如下:
1234<?php ini_set("display_errors", 0);$str = $_GET["name"];echo "<h2 align=center>欢迎用户:".$str."</h2>";
源码分析:
ini_set("display_errors", 0);:用于设置 PHP 的错误显示级别为 0,这意味着将不会在页面上显示任何 PHP 错误信息 ...