08 2021 档案

摘要:Offensive Security | Control Panel (offensive-security.com)(需注册登录) 题目名为Gaara 主机ip:192.168.52.142 首先切换为root用户,密码为kali nmap扫描 22端口和80端口开着 22为ssh端口,用于SSH 阅读全文
posted @ 2021-08-25 19:35 1ink 阅读(338) 评论(0) 推荐(1)
摘要:初步探查 打开网站 http://bang.dangdang.com/books/fivestars/1-1 一共25页,每一页最后面的值会发生改变 我们打算获得 排名 书名 图片地址 作者 推荐指数 五星评分 次数价格 逐步实现 主要思路: 使用 page 变量来实现翻页 我们使用 request 阅读全文
posted @ 2021-08-24 10:29 1ink 阅读(377) 评论(0) 推荐(0)
摘要:# 一、安全 ### 1、SQL注入的原理是什么 用户可控的参数拼接到SQL语句中,导致数据操作时执行了额外的SQL语句。 ### 2、SQL盲注有哪些类型,盲注如何利用 SQL盲注一般分为基于布尔的盲注和基于时间的盲注。 时间盲注相关函数:BENCHMARK(100000,MD5(1)) 、sle 阅读全文
posted @ 2021-08-23 13:15 1ink 阅读(65) 评论(0) 推荐(0)
摘要:1.拿到一个待检测的站,你觉得应该先做什么? 参考43 2.mysql 的网站注入,5.0 以上和 5.0 以下有什么区别? 5.0 以下没有 information_schema 这个系统表,无法列表名等,只能暴力跑表名; 5.0 以下是多用户单操作,5.0 以上是多用户多操做。 MySQL5.0 阅读全文
posted @ 2021-08-23 13:12 1ink 阅读(538) 评论(0) 推荐(0)
摘要:常用命令 echo 用于在终端输出字符串或变量提取后的值 date 按照默认格式查看当前系统时间 date "+%Y-%m-%d %H:%M:%S" 按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间 date -s “时间”设置系统的当前时间 ​ date "+%j" 查看今天是当年中的第几 阅读全文
posted @ 2021-08-23 12:02 1ink 阅读(177) 评论(0) 推荐(0)
摘要:常用表达式 字符 描述 \d 代表任意数字,就是阿拉伯数字 0-9 这些玩意。 \D 大写的就是和小写的唱反调,\d 你代表的是任意数字是吧?那么我 \D 就代表不是数字的。 \w 代表字母,数字,下划线。也就是 a-z、A-Z、0-9、_。 \W 跟 \w 唱反调,代表不是字母,不是数字,不是下划 阅读全文
posted @ 2021-08-23 09:12 1ink 阅读(129) 评论(0) 推荐(0)
摘要:requests requests 是在 urllib 的基础上搞出来的,通过它我们可以用更少的代码,模拟浏览器操作,使用比urllib方便 对于不是 python 的内置库 我们需要安装一下,直接使用 pip 安装pip install requests 导入 requests 模块 import 阅读全文
posted @ 2021-08-23 08:53 1ink 阅读(113) 评论(0) 推荐(0)
摘要:使用__slots__ 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class: class Student(object): pass 然后,尝试给实例绑定一个属性: >>> s = Student() > 阅读全文
posted @ 2021-08-23 07:55 1ink 阅读(121) 评论(0) 推荐(0)
摘要:网络爬虫是捜索引擎(Baidu、Google、Yahoo)抓取系统的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 网络爬虫的基本工作流程如下: 首先选取一部分精心挑选的种子URL; 将这些URL放入待抓取URL队列; 从待抓取URL队列中取出待抓取在URL,解析 阅读全文
posted @ 2021-08-22 12:23 1ink 阅读(751) 评论(0) 推荐(0)
摘要:类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 仍以Student类为例,在Python中,定义类是通过class关键字: cl 阅读全文
posted @ 2021-08-18 12:12 1ink 阅读(70) 评论(0) 推荐(0)
摘要:黑盒测试 两个输入框,分别输入1,2看看 这是在拼接吗? 闭合一下试试 看到被实体编码了 unicode编码绕过试试,将<进行编码 &被过滤了 无从下手 源码分析 提示也看不懂 看看源码:进行了实体转义,没了 百度 太邪门了,看源码也不知道怎么做,看看大佬的分析: aaaa\和=1;alert(1) 阅读全文
posted @ 2021-08-15 19:37 1ink 阅读(107) 评论(0) 推荐(0)
摘要:WooYun-2012-15969 黑盒测试 输入<script>alert(/xss/)</script>,啥也没显示 看看前端,被引号包裹,要把引号闭合掉 更改为";alert(/xss/)源码中看到"被转义,题目写的GBK,猜测用的%df宽字节绕过 这里发现在输入框中填%df没有反应 在url 阅读全文
posted @ 2021-08-15 18:58 1ink 阅读(94) 评论(0) 推荐(0)
摘要:函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数! Python对函数式编程提供部分支持。由于Python允许使用变量,因此,Python不是纯函数式编程语言。 高阶函数 什么是高阶函数?我们以实际代码为例子,一步一步深入概念。 变量可以指向函数 以Python内置 阅读全文
posted @ 2021-08-15 15:42 1ink 阅读(168) 评论(0) 推荐(0)
摘要:切片 取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下: >>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] 取前3个元素,应该怎么做? 笨办法: >>> [L[0], L[1], L[2]] ['Michael', 阅读全文
posted @ 2021-08-14 17:06 1ink 阅读(67) 评论(0) 推荐(0)
摘要:调用函数 Python内置了很多有用的函数,我们可以直接调用。 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档: http://docs.python.org/3/library/functions.html#abs 调用a 阅读全文
posted @ 2021-08-12 20:55 1ink 阅读(131) 评论(0) 推荐(0)
摘要:print()会依次打印每个字符串,遇到逗号“,”会输出一个空格 Python允许在数字中间以_分隔,因此,写成10_000_000_000和10000000000是完全一样的。十六进制数也可以写成0xa1b2_c3d4。 布尔值可以用and、or和not运算。 ord()函数获取字符的整数表示,c 阅读全文
posted @ 2021-08-12 20:54 1ink 阅读(98) 评论(0) 推荐(0)
摘要:判断注入点类型 1 显示 1' 不显示 2' and '1'='1 显示2的结果,单引号无括号 判断字段数 1' order by 5--+ 不显示 1' order by 4--+显示,字段数为4 判断可用字段 -1' union select 1,2,3,4--+ 获取数据库 获取表名 id=- 阅读全文
posted @ 2021-08-12 20:53 1ink 阅读(295) 评论(0) 推荐(0)
摘要:文件包含 利用php伪协议读取 谈一谈php://filter的妙用 | 离别歌 (leavesongs.com) ?file=php://filter/read=convert.base64-encode/resource=index.php base64解码 <html> <title>Bug 阅读全文
posted @ 2021-08-12 20:52 1ink 阅读(105) 评论(0) 推荐(0)
摘要:代码审计 长度要为len("return'7512158cb1d484b7a54f6c004b943687c4c66015';")=49 由源码知道,$flag可以输出,且输出后就是需要的flag 关于eval()函数 eval() 函数把字符串按照 PHP 代码来计算。 该字符串必须是合法的 PH 阅读全文
posted @ 2021-08-12 20:49 1ink 阅读(644) 评论(0) 推荐(2)
摘要:查看前端源码 只允许上传jpg和png 选一个文件上传 上传成功后源码 这个文件会被当作py执行 上传一个py,后缀名该为jpg os.system()方法在子shell中执行命令(字符串)。该方法是通过调用标准C函数system()来实现的,并且具有相同的限制。如果命令生成任何输出,则将其发送到解 阅读全文
posted @ 2021-08-12 20:48 1ink 阅读(112) 评论(0) 推荐(0)
摘要:本地包含 访问,代码审计 include包含的文件和本源码在同一路径 $request可用与接受get和post的传递的参数 eval函数可以把字符串作为php命令执行 hello=file(“flag.php”)拿到falg! file() 函数把整个文件读入一个数组中。 file(path,in 阅读全文
posted @ 2021-08-12 20:47 1ink 阅读(321) 评论(0) 推荐(0)
摘要:源码发现链接 <?php if(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){ $v1 = $_GET['v1']; $v2 = $_GET['v2']; $v3 = $_GET['v3']; if($v1 != $v 阅读全文
posted @ 2021-08-12 20:45 1ink 阅读(292) 评论(0) 推荐(0)
摘要:17 条件竞争上传 黑盒测试 招数都用了,上传失败,看看提示: 源码分析 $is_upload = false; $msg = null; if(isset($_POST['submit'])){ $ext_arr = array('jpg','png','gif'); $file_name = $ 阅读全文
posted @ 2021-08-11 11:54 1ink 阅读(274) 评论(0) 推荐(0)
摘要:鲁迅曾经说过: 1.什么是SQL注入 SQL注入是一种通过操纵输入来修改后台SQL语句以达到利用代码进行攻击目的的技术 2.漏洞产生的前提条件 参数用户可控:前端传给后端的参数内容是可以被用户控制的 参数带入数据库查询:传入的参数拼接到SQL语句,且带入数据库查询 3.与SQL注入相关知识点 1.在 阅读全文
posted @ 2021-08-10 15:10 1ink 阅读(680) 评论(0) 推荐(0)
摘要:62 130步内获得flag-时间盲注 130步!有点太小瞧我了吧(歪嘴) 1.?id=2 and 1=2显示,不是数字型 2.?id=2'不显示 3.?id=2' and '1'='1显示1的查询结果,说明有括号,且是单引号. 盲注: 表名是10个随机字母加数字 字段名是secret_+四个随机字 阅读全文
posted @ 2021-08-08 18:56 1ink 阅读(330) 评论(0) 推荐(0)
摘要:58 5步内获得flag-报错注入-单引号 5步内获取flag?有点太高估我的能力了吧🤣 1.id=2 and 1=2显示,不是数字型 2.?id=2'报错了,报错注入 3.获取表名 ?id=2' and updatexml(1,concat(0x7e,(select(group_concat(t 阅读全文
posted @ 2021-08-08 18:54 1ink 阅读(169) 评论(0) 推荐(0)
摘要:简介 什么是二次渲染 目前很多网站都会对用户上传的图片再次压缩、裁剪等渲染操作(如PHP中的imagecreatefromjpeg()等函数),所以普通的图片马都难逃被渲染的悲剧。 绕过 GIF 渲染前后的两张 GIF,没有发生变化的数据块部分直接插入 Webshell 即可 PNG PNG 没有 阅读全文
posted @ 2021-08-08 16:21 1ink 阅读(3367) 评论(1) 推荐(1)
摘要:基础的写完了,进阶的练练手,莫名的有点紧张激动 54 10步之内获得flag-union-单引号 意思是10次之内获得flag,重置数据库后表名什么的会改变 1.?id=1显示 2.?id=1 and 1=2显示 字符型 3.?id=1' order by 4--+不显示 4.?id=1' orde 阅读全文
posted @ 2021-08-07 17:13 1ink 阅读(167) 评论(0) 推荐(0)
摘要:pass-11 黑名单-%00截断-get 黑盒测试 1.php上传失败,只允许上传如下格式,看来这次采用白名单了 前端没有js脚本 改Content-Type: image/png,上传失败 没有头绪,看看提示吧,说上传路径可控? 果然url栏写着路径,但是不知道有什么用 源码分析 $is_upl 阅读全文
posted @ 2021-08-07 10:42 1ink 阅读(195) 评论(0) 推荐(0)
摘要:order by注入 - AlucardLink 46数字型-报错注入 刚打开,题目意思是sort作为参数,进行赋值? 它会根据输入的第x个字段来排序 报错注入可以获取表信息,不演示了 sort=11 and updatexml(1,concat(0x7e,database(),0x7e),1)# 阅读全文
posted @ 2021-08-06 16:41 1ink 阅读(234) 评论(0) 推荐(0)
摘要:何为order by 注入 它是指可控制的位置在order by子句后,如下order参数可控:select * from goods order by $_GET['order'] order by是mysql中对查询数据进行排序的方法, 使用示例 select * from 表名 order b 阅读全文
posted @ 2021-08-06 11:09 1ink 阅读(12544) 评论(3) 推荐(0)
摘要:前面自己配的靶场各种问题,整的头大 找个在线靶场也是一堆问题,清理文件把上传目录给删了,我直接迷惑 更换成作者配置好的靶场了,用着很舒服 upload-labs集成环境版 pass-6 没转换为小写 黑盒测试 1.php空格失败 1.PhP成功,看来没有全部转换成小写 源码分析 $is_upload 阅读全文
posted @ 2021-08-05 17:51 1ink 阅读(143) 评论(0) 推荐(0)
摘要:Windows利用系统本身的命名规则绕过: 先看一下利用Windows特性绕过 大小写绕过:针对对大小写不敏感的系统如 windows 例如test.PhP 以下为不符合规则的Windows文件 shell.php. 文件名后加 '.' 适用于上传的文件名没有被修改 shell.php空格 文件名后 阅读全文
posted @ 2021-08-05 10:47 1ink 阅读(454) 评论(0) 推荐(0)
摘要:### 简介 图片马:就是在图片中隐藏一句话木马。利用.htaccess等**解析图片为PHP或者asp文件**。达到执行图片内代码目的 制作方法: 1. 文本方式打开,末尾粘贴一句话木马 2. cmd中 copy 1.jpg/b+2.php 3.jpg - /b是二进制形式打开 - /a是asci 阅读全文
posted @ 2021-08-05 08:59 1ink 阅读(36783) 评论(0) 推荐(3)
摘要:38 堆叠注入介绍 堆叠注入简介 在SQL数据库中,多查询语句以;分开,堆叠查询就是利用这个特点,在第二个SQL语句中构造自己要执行的语句 union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么? 区别就在于union 或者union all执行的语句类型是有限的, 阅读全文
posted @ 2021-08-04 11:21 1ink 阅读(635) 评论(0) 推荐(1)
摘要:头等舱 - Bugku CTF 什么也没有 刷新看看回应头,发现flag,太简单了,亏了1金币 阅读全文
posted @ 2021-08-03 17:07 1ink 阅读(169) 评论(0) 推荐(0)
摘要:变量1 - Bugku CTF 代码审计 get型传参,args要满足正则匹配的内容 ^:匹配输入字符串的开始位置 \w:包含下划线的任意单词字符字符 +:匹配前面的子表达式一次或多次 $:匹配输入字符串的结束位置 因此args只要是字母和下划线组成就行 令args=flag,但是flag变量不存在 阅读全文
posted @ 2021-08-03 16:59 1ink 阅读(116) 评论(0) 推荐(0)
摘要:进行代码审计,这里面的条件看着有点矛盾呀 其实 PHP一个数字和一个字符串进行比较或者进行运算时,PHP会把字符串转换成数字再进行比较。 PHP转换的规则的是:若字符串以数字开头,则取开头数字作为转换结果,若无则输出0。 在PHP中,== 会先进行类型转换,再进行对比,而 会先比较类型,如果类型不同 阅读全文
posted @ 2021-08-03 16:15 1ink 阅读(107) 评论(0) 推荐(0)
摘要:bp - Bugku CTF 弱密码top1000 看看提示 账号给了,就差密码,啥也别说了,burpsuite爆破 被提示骗了,根本没有跑出来密码 换个大字典,让它跑去吧 这道题没啥意思,也学不到东西 密码zxc123 flag{9b20fce479935f5b6740970c136320a5} 阅读全文
posted @ 2021-08-03 16:11 1ink 阅读(240) 评论(0) 推荐(0)
摘要:显示网站被黑,说网站有漏洞,刚开始摸不着头脑,看了评论区,说是用御剑扫 扫描出一个叫shell.php的文件 访问,随意输入一个密码,不行 爆破 爆破出密码hack 输入后获得flag 阅读全文
posted @ 2021-08-03 16:08 1ink 阅读(129) 评论(0) 推荐(0)
摘要:题目地址:本地管理员 - Bugku CTF 前端代码发现base64编码 解码得到test123 因为为管理员系统,猜测用户名为admin,而test123为密码,登录时提示ip错误 因为题目叫本地管理员,由此想到应该修改为X-Forwarded-For:127.0.0.1 获得flagflag{ 阅读全文
posted @ 2021-08-03 16:07 1ink 阅读(538) 评论(0) 推荐(0)
摘要:进行游戏,游戏失败 打开F2,失败后会有下面的的网址114.67.246.176:10263/score.php?score=25&ip=223.91.4.87&sign=zMMjU 前端源码中看到 25的base64编码为MjU=,sign=zMMJU 再打一次看看,这次打了50,链接为score 阅读全文
posted @ 2021-08-02 17:37 1ink 阅读(388) 评论(0) 推荐(0)
摘要:upload-labs源码 pass-1 JS检测绕过 上传一个123.php试试,结果不允许上传 页面源代码中这样一个javascript脚本,采用白名单的形式只允许jpg,png和gif类型 方法1-burpsuite改后缀名绕过 先将后缀名改成png绕过前端js的检测,然后用burpsuite 阅读全文
posted @ 2021-08-02 16:53 1ink 阅读(199) 评论(0) 推荐(0)
摘要:一.关键步骤: (1) 加密:先将大小写转换成数字0-25,按照c=m*p+q%26进行加密 ​ 加密结果如图所示 (2) 解密:根据m=(c-q)*p-1,关键是求出密钥p的逆,代码如图 解密结果如图1.4所示. (3)破解:密钥空间为311,可以进行暴力破解,关键破解代码 二.安全性分析: 仿射 阅读全文
posted @ 2021-08-01 18:56 1ink 阅读(1865) 评论(0) 推荐(0)
摘要:4.1 国际化的基本机制 4.1.1 国际化概述 随着经济全球化的发展,软件也应该具有支持各种语言和地区的能力。国际化的主要目的,是调整软件,使之能适用于不同的语言及地区。 与国际化类似的另一个概念是本地化(localization)。在业界内,两个概念一般一起讲,有时候甚至被等同起来。不过,从概念 阅读全文
posted @ 2021-08-01 18:43 1ink 阅读(268) 评论(0) 推荐(0)
摘要:3.1 一般性讨论 3.1.1 输入安全概述 输入是一个很广泛的概念,既是用户和软件之间的交互手段,也是软件内部模块之间的交互手段。针对软件用户的输入有很多类型,如: 用户在软件上输入一个命令,进行相应操作; 用户输入自己的账号密码,进行登录验证; 用户输入一个关键字,进行查询,等等。 模块之间进行 阅读全文
posted @ 2021-08-01 18:42 1ink 阅读(524) 评论(0) 推荐(0)
摘要:2.1 优化基本运算 很多细微的代码都可以进行优化,其中最常见的是乘法和除法的优化. 比如以下代码: for(i=0;i<1000;i++){ sum+=i*4; } 如果使用移位来代替乘法运算,可以使性能提高.重写后的代码如下: for(i=0;i<1000;i++){ sum+=(i<<2); 阅读全文
posted @ 2021-08-01 18:41 1ink 阅读(69) 评论(0) 推荐(0)
摘要:1.1 优化变量赋值 如下代码为求1-1000的和 class Test{ int sum; void cal(){ for(int i=1;i<1000;i++){ sum+=i; } } } 一般来说,由于局部变量用完之后释放,因此有些作用范围较大的变量操作,改为局部变量来实现,有助于节省宝贵的 阅读全文
posted @ 2021-08-01 18:37 1ink 阅读(76) 评论(0) 推荐(0)
摘要:概述 文件上传漏洞是指服务端未对客户端上传的文件进行严格的验证和过滤,导致用户可以上传一个可执行脚本,并且能通过脚本获得了执行服务器端命令的能力 危害 非法用户可以利用上传的恶意脚本文件控制整个网站,甚至控制服务器.这个恶意脚本文件,又被称为Webshell,也可将Webshell称为一种网页后门, 阅读全文
posted @ 2021-08-01 18:35 1ink 阅读(179) 评论(0) 推荐(0)