资产架构

#资产架构:

WEB单个源码指向安全

WEB多个目录源码安全

WEB多个端口源码安全

服务器架设多个站点安全

架设第三方插件接口安全

服务器架设多个应用安全

#番外安全:

基于域名解析安全

基于服务器本身安全

基于服务商信息安全

基于管理个人的安全

#考虑阻碍:

阻碍-站库分离

阻碍-CDN加速服务

阻碍-负载均衡服务

阻碍-WAF应用防火墙

阻碍-主机防护防火墙

1、单个源码指向,打比方说:
bbs.xx.com 是一个论坛,他只是一个论坛的话就关注这个网站的安全。

2、如果在bbs.xx.com的根目录下新建一些文件夹,比如blog,把类似wordpress的程序源码丢进去,那么访问:bbs.xx.com/blog 的时候将会访问到wordpress的页面,此时就是多个目录需要关注安全问题了,因为这是一个系统(网站)两套程序,任何一个程序出现问题整个系统(网站)都将面对风险

3、同样的道理,如果在bbs.xx.com8888放一套源码,就是基于端口的网站了

4、当创建新的站点,比如edu.xx.com它通过解析之后跟bbs.xx.com都指向同一个IP地址,在进行安全测试的时候可以选择同服务器下其他站点进行突破,可能会更加容易

5、当比如wordpress使用的第三方插件有安全问题,那么网站也会面对风险

加密编码

之前玩ctf的时候就增长了不少见识,接触到了base家族,密码学里学过的算法的使用,还有一些奇形怪状的加密方式,哈哈。

下面是一些有用的资料

1.30余种加密编码类型的密文特征分析(建议收藏)

https://mp.weixin.qq.com/s?__biz=MzAwNDcxMjI2MA==&mid=2247484455&idx=1&sn=e1b4324ddcf7d6123be30d9a5613e17b&chksm=9b26f60cac517f1a920cf3b73b3212a645aeef78882c47957b9f3c2135cb7ce051c73fe77bb2&mpshare=1&scene=23&srcid=1111auAYWmr1N0NAs9Wp2hGz&sharer_sharetime=1605145141579&sharer_shareid=5051b3eddbbe2cb698aedf9452370026#rd

2.CTF中常见密码题解密网站总结(建议收藏)

https://blog.csdn.net/qq_41638851/article/details/100526839

3.CTF密码学常见加密解密总结(建议收藏)

https://blog.csdn.net/qq_40837276/article/details/83080460

做ctf的时候我可算是费劲脑子找了很多文章看特征了,印象最深还是那道emoji表情加密的题目,怎么都跑不出来,那种答案近在咫尺却拿不到的感觉十分难受。

借鉴迪哥的文档

密码存储加密:

MD5 SHA1 NTLM AES DES RC4

MD5值是32或16位位由数字”0-9″和字母”a-f”所组成的字符串 //多用在数据库加密

SHA1这种加密的密文特征跟MD5差不多,只不过位数是40

NTLM这种加密是Windows的哈希密码,标准通讯安全协议

AES,DES,RC4这些都是非对称性加密算法,引入密钥,密文特征与Base64类似

传输数据编码:

BASE64 URL HEX ASCII

BASE64值是由数字”0-9″和字母”a-f”所组成的字符串,大小写敏感,结尾通常有符号=

URL编码是由数字”0-9″和字母”a-f”所组成的字符串,大小写敏感,通常以%数字字母间隔

HEX编码是计算机中数据的一种表示方法,将数据进行十六进制转换,它由0-9,A-F,组成

ASCII编码是将128个字符进行进制数来表示,常见ASCII码表大小规则:0~9<A~Z<a~z

识别算法编码类型:
1、看密文位数
2、看密文的特征(数字,字母,大小写,符号等)
3、看当前密文存在的地方(Web,数据库,操作系统等应用)

有些加密是不可逆的,比如MD5,我们知道他的加密方式,但是不能根据密文倒退明文,但是因为每个字符的md5是固定的,所以md5是可以被破解的。破解的方法就是用碰撞法尝试解密。

当遇到加密方式是md5加盐类型的,网上找一下资料看一下salt藏在哪里,如果找不到就去翻数据库里跟salt相关的。
在cmd5.com里输入md5:salt

之前ctf的部分crypto的wp

Writeup  sigma

Misc:签到题:与佛解码

Zip:图片一眼看长宽不太对,拉长图片看到^5 看到密文应该用这个当钥匙解开,到工具里试了出来

Web:目录:输入路径拿到

五子棋:下赢得

F09F9983F09F92B5F09F8CBFF09F8EA4F09F9AAAF09F8C8FF09F908EF09FA58BF09F9AABF09F9886F09F94AAE29883F09F9181F09F8E83F09F94AAF09F95B9F09F9AB0F09FA4A3F09F92A7F09F8EA4E29C96F09F8DB4F09F95B9F09F9191F09F94AAF09F8EA4F09F908EE29880F09F9983F09F9AA8F09F9181F09F8DB5F09F9189F09F8FB9F09F8EA4F09F9AB0F09F9882F09F988EF09F92B5F09F9887F09F9690F09F92A7F09F9983E29C89F09F9880F09F8F8EF09F988EF09F91A3F09F9881F09F988AF09FA693F09F9AABF09F988AF09F9983E29C89F09F9085F09F95B9F09F8CAAE29882F09FA58BF09FA693F09F8E85E29D93F09F8E88

“We got about more than 120 regular clients, and mainly 95 % of them are from the Canton Fair,” said Nick Koay, Chairman of Maycham China Greater Bay. He indicated that Canton Fair is a good platform and he hope to get more new customers from the domestic market.The 130th session of the China Import and Export Fair, also known as the Canton Fair, kicked off on October 14 in Guanghou, Guangdong. With the theme slogan “Canton Fair Global Share,” the fair is held in both offline and online forms and lasts five days to showcase 16 product categories across 51 exhibition areas.Nick Koay has participated the Canton Fair for 15 years. The products of his factory in Zhuhai are sold to about 30 countries in the world, and 95 % of his regular clients are from the fair. “gxuctf{D0_N0T_know_what_2_c}Canton Fair is one of the largest exhibitions in the world, and also, is a very good platform”, he said.Due to the COVID-19, many international buyers and exhibitors can’t join the fair on site, and the online provides them another platform. Nick Koay believed that it’s a kind of future business model. “We can be introduced to our new clients, and the online fair is quiet useful for our business.”In addition, Nick Koay was full of expectation about the 130th Canton Fair: “We are looking forward to having more domestic customers for expanding our business in the domestic market.

Selec题目:

二进制换十进制,发现有==结尾这个是base64,解码得出,看来罗马需要凯撒密码进行移位

最后进行替换密码的运算

aulqmcpthcpeuld! but rcwo zeledron pro koqellom ambgpuqmcgrb archholqo. romo ed c zhcq zum chh butm rcmn ozzumpd: qitapz{l0s_pr4pd_sr4p_e_a4hh_ambgp0}. but sehh zeln prcp c hup uz ambgpuqmcgrb ed jtdp ktehnelq uzz pred dump uz kcdea flushonqo, cln ep mochhb ed lup du kcn czpom chh. rugo but oljubon pro archholqo!

q i  t a p z h o c u m b        l   d   g r   e  s  w n k   j     f

g x u c t f  l  e a o  r  y        n    s  p  h  i w  v d  b  m  k

flag gxuctf{n0w_th4ts_wh4t_i_c4ll_crypt0}

鹦鹉学舌

密码给提示了,我猜是弱密码,暴力破解

成功

BABBAAABAAAAABAABBBAABBAAAABAABABBBAAAAABABBBAABBB

Gxuctf{wecomexaxh}

V:多表我猜是维吉尼亚,但没想到密码是维吉尼亚,密文给出来其实是几个按键围在一起中间的那个字母。。。

Gpcoiqkjonmnzxvnxugpmyw我猜可能又是要维吉尼亚来解开,提示给6位,又是多表,我猜是gxuctf

app抓包

虽然我们有很多抓包工具【chalre、fidder、burp shuit】,但是根据协议等不同,它们的侧重点也不同,比如burp suit主要抓tcp/ip协议的包
当我们要进行流量分析的目标不是web网站,是比如APP的类型,也可以用抓包工具,比如burp suit 抓模拟器的包
首先cmd查看自己的ip地址,然后bp设置代理地址和端口,因为之前我就配好了证书,不然一般先要配证书才能抓https的数据包。下载逍遥模拟器,然后网络设置代理地址和端口,bp监听开,就可以抓包了。

拿有道词典app来说,在登录窗口输入账号密码(错误的)进行测试,进行抓包,发现不能抓,原因要么是没抓到、要么就是没有走http协议或者说是前端验证不需要过后端。

那么遇到不走web协议的咋办,抓不了包了。换工具!
【熟悉的wireshark、科来网络分析系统】这俩工具可以抓其他协议的包,然后挑选接口

在模拟器打开游戏,游戏不走web协议的,所以一般用刚说那俩,以科来举例子,可以按照进程来挑选数据包,很容易就发现跟我们通信的地址也就是游戏服务器传输的地址,数据包会不断增加。

那么抓到了这些非web协议的包,怎么对网站进行渗透测试呢,上文说到我们用分析工具发现了游戏服务器的ip地址,就可以从这出发进行我们的渗透测试。

抓包和封包

关系:零散和整体
封包:可以细化精确到每一个操作的数据包

回忆DC-1

信息搜集阶段,知道靶机ip地址,进行一手主机的发现,用nmap扫开放的端口

【不要拿扫描器扫公网的任何资产(非授权)】

扫出来22和80端口之后知道对应开放了ssh和http服务
如果思路是对22端口进行攻击,由于不知道用户名等信息,爆破有点繁琐,那就来经典web网页测试看看。
使用Wappalyzer插件发现,以及nmap中扫出来的信息提示,该网站的建站系统为Drupal 7,到网上找关于它的漏洞信息。注意到现在的版本已经到11了所以7应该是有挺多漏洞的。

使用一款新的工具metasploit
尝试在metasploit里查找有没有相关的利用脚本
search drupal 7

使用命令来使用该模块
use exploit/unix/webapp/drupal_drupalgeddon

对于Required为yes的项都需要设置才能使用

所以设置Rhost为靶机ip地址,命令如下:
set RHOSTS 192.168.xx.xx

使用命令启动:
exploit

可以看到已经攻击成功,已经建立了一个meterpreter会话,可以理解为建立了一个反弹shell

输入 shell 命令 再随便输入点命令如 pwd 等,由于不是交互式的shell,很不方便,不妨唤出交互式的,如用python -v看看有无安装python,有的话输入命令:
python -c ‘import pty;pty.spawn(“/bin/bash”)’
——————————————————————————————————————-
拿到了shell,接着就是要找一些敏感文件,靶场设置了一些flag帮助解题,通过ls命令查看当前目录文件可以发现有flag1,用 cat 命令查看,它提示每个 cms 都需要一个config file,直接去网上搜drupal的文件结构 发现3.6 sites文件夹中有一个配置文件setting.php,查看他发现有数据库的一些配置,也就是说到了对数据库进行操作的阶段。使用他给的数据登录mysql
mysql -udbuser -pR0ck3t

有mysql的数据

按照注入的思路一步步看库看表看字段看值。。。
看到有一张表时user一般大概率能用
select * from users \G; 查看表里的信息
发现有admin的信息,但是密码被加密了,试试看解决这个问题,要么用我们自己的密码用同一种方式加密替换他,要么试试还原密码,或者其他操作。
去google一下drupal的用户密码是如何加密的

网上找到的文章,可见是md5加密之后加盐再加密的模式

仔细思考,发现加密的过程使用脚本,我们可以利用脚本把我们的密码也同样加密,之后替换admin的密码。
php scripts/password-hash.sh 123 >password.txt
利用脚本把我们密码为 123 进行加密之后放在password.txt
cat 查看加密的密文,准备用它来覆盖admin的密码,之后就可以登录了


接下来是提权环节

在网页看到flag,flag提示它想让我们去读取/etc/passwd,但事实上这个文件需要root权限才能读取,而我们只是一般的普通用户权限,故此处考虑提权。
据flag3中提到的关键词 perms find passwd -exec 考虑使用具有suid的命令来提权

对于拥有suid的命令来说,它最显而易见的特点是,使用该命令时,执行命令的权限为文件拥有者的权限,而不是使用命令者的权限。
find / -perm -4000 该命令查找符合要求的命令

find符合

发现find拥有这样的特点 而find中的参数-exec 可以执行其后跟随的命令
find password.txt -exec ‘/bin/sh’ \;

得到了root权限

cat /etc/passwd
cat /etc/shawdow

都看看里面有没有有用的信息
【网上查询文章,shawdow也叫影子文件存储用户密码信息,该文件只有root用户拥有读权限】
看到shawdow下有flag,是加密的,可以爆破,比如用hydra工具。
因为已经是root,直接找到文件cat一下就行。
本关到此结束

xshell连接kali

Kali 默认关闭了22端口,因此要连接xshell需要手动开启22端口

Su – 命令切换root权限

  1. 修改/etc/ssh/sshd_config配置文件

用vim编辑器打开上述命令,按i进入插入模式,对文档进行编辑。

2.找到#PasswordAuthentication yes  把#的注释去掉

好好找,有的。

3.将PermitRootLogin without-password修改为:

PermitRootLogin yes

好好找,也有的

4.然后启动ssh服务,这时候先不要链接,因为链接不上,

命令是:/etc/init.d/ssh start

5.然后设置开机自动启动

命令是:update-rc.d ssh enable

6.rebbot重启

Xshell

打开xshell新建会话

用password登录

账号为root

密码为root账号密码

如图为连接成功哦

根据nmap进行了扫描,我不明白当我不使用开关机确认目标主机的ip地址时,怎么才能正确的发现目标主机。

phpstudy使用

因为sqllab用报错函数没用,想试试本地命令行运行mysql,为了便捷,用phpstudy尚的phpmyadmin来搞,遇到了问题
打不开网页,换php版本5.5以上
不能连接服务器,解决中


首先mysql版本问题可能是原因,所以有必要更换版本。然后是端口占用,改成3306解决了,因为本来我就装有mysql,然后我把我的卸载了,再打开就可以连接数据库登录phpmyadmin了。


对于宝塔登录,因为设有安全入口,所以要在网址后跟安全入口地址。

我的wordpress是怎么整残的

当更改设置里的url地址,最好不要瞎改妈的wordpress给我干没了

这个时候我们的数据库发生了变化,验证的时候就会不符合,捏麻

所以我们在xshell连接数据库后要更改一些内容
找到wordpress的数据库,找到wp_options 表,然后
select * from wp_options limit 1;
然后再


UPDATE wp_options SET option_value=”http://xxxx WHERE option_name=”siteurl”;


第一次搭网站的时候,按照腾讯云的操作文档,一步一步安装lnmp,然后配置文件,先是遇到403,后来修改配置文件中的账号密码能成功注册wordpress。

然后我很开心的写出第一篇文章,但是发现文章并不能插入图片,或者更新的时候说我没有权限,所以我到网上找,可能是:

1、权限问题,在命令行安装wordpress的时候有些目录是root权限,所以当我们要执行一些修改性质的操作就会提示我们没有权限,方法就是修改所属的组,比如把权限给到更高,或者把组从root变成www。在我使用宝塔的时候就自动吧组变成www了所以可以正常操作。

2、需要ftp,按照文档操作的时候我也许没有安装ftp,但是我按照csdn上的文章继续解决问题的时候,比如安装vsftpd这款ftp,修改配置(比如不支持ipv6我就把监听设置成no)发现根本没法启动。

那用宝塔自然没有这些问题了。自己搭建还是很好玩的,前提是能解决问题。

碰到自动更新需要ftp时,可以再wordpress-conf配置里面添加三行指令跳过ftp验证。

碰到不小心修改了url的时候就修改数据库(见其他文章)

碰到…暂时碰不到了hhhh

另外我还没弄懂为什么我kill不了80端口的占用程序,所以把wordpress放在其他端口,当每次修改conf文件的时候我发现就多了它用的端口了,以前的却没消失。

Burp suit

在代理模块的监听地址
127.0.0.1:8888 意思是监听本地的浏览器,网络包经过这个端口传输
当虚拟机,或者模拟器,有自己的网络(虚拟出来的ip地址)要想监听必须增加ip地址和端口,比如通过ipconfig(window)查看的ip地址

那么以前外教课说的evil-twin的网络,我可以理解成诱使目标连接我们的网络,因为该网络的名字和密码是目标已知,且受目标信任。我们构建的网络,包括ip地址端口等,通过抓包工具或者其他手段可以对目标的传输数据进行监听,拦截,改包,重放等攻击。 代理问题,可以到“快代理”购买代理,经过配置可以做到每一次操作都换一个ip,这样,当ip被拉黑的时候,就可以通过不断的切换来实现绕过。那么,当遇到ddos攻击很有可能是由不同的肉鸡发送的大量请求,如果简单地拉黑ip,只要换着ip来就可以了,要怎么解决ddos,后面学习看看有没有方法。