今天学习命令执行遇到的关于php写入一句话木马的问题.

通过DVWA中的命令执行题目讲解 难度low

命令执行相关知识点

命令执行直接调用操作系统命令。其原理是,在操作系统中,“&、|、||”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,将用户的输入作为系统命令的参数拼接到命令行中,在没有过滤用户输入的情况下,造成命令执行漏洞。

1
2
3
4
命令1&命令2    两个命令同时执行命令
1&&命令2   只有前面命令执行成功,后面命令才继续执行
命令1;命令2   不管前面命令执行成功没有,后面的命令继续执行
命令1||命令2   顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令
1
2
3
4
5
6
### PHP中常见命令执行函数 

- system():执行一个外部的应用程序的输入并显示输出的结果
- exec():执行一个外部的应用程序,但不显示输出的结果
- passthru():执行一个系统命令并显示原始的输出
- shell_exec():执行shell命令并返回输出的结果的字符串

一道关于ping命令的命令执行题目

阅读全文 »

靶机信息:

1
2
3
4
5
6
7
攻击机 kali
ip:192.168.0.153
靶机 web服务器
网卡1:192.168.0.162
网卡2:192.168.138.136
靶机:域控
ip:192.168.138.138

相对于红队靶机一感觉简单了许多,可能是套路一样做了一遍的原因

阅读全文 »

file协议

中文意思:

本地文件传输协议

定义:

File协议主要用于访问本地计算机中的文件。
File协议基本的格式如下:

1
file:///C:/file.txt //访问c盘下的file.txt文件

基本格式这里可以借助http网址来理解

http网址基本格式:

1
http://ip地址:端口号/文件路径
阅读全文 »

Gopher协议的学习

定义:

Gopher是Internet上一个非常有名的信息查找系统,它将Internet上的文件组织成某种索引,很方便地将用户从Internet的一处带到另一处。在WWW出现之前,Gopher是Internet上最主要的信息检索工具,Gopher站点也是最主要的站点,使用tcp70端口。但在WWW出现后,Gopher失去了昔日的辉煌。现在它基本过时,人们很少再使用它;(百度百科)

gopher协议格式:
1
gopher协议  URL:gopher://<host>:<port>/<gopher-path>_后接TCP数据流 可用于构造Http请求包
阅读全文 »

红队靶机一练习

注:因为后面要用到frp+socket代理所以web服务器的一张网卡通向外网.

1
2
攻击机:kali 
靶机:web服务器 win2008和server win2k3
阅读全文 »

前端时间实训讲了sql注入,但是因为那段时间只顾着打靶场了没有做笔记,今天完成第三四次作业时发现很多都忘记了,因此做这篇文章一方面分享知识,另一方面记录相关重要知识,方便后续复习回顾

SQL注入

我将通过DVWA靶场中的sql题目讲解SQL注入

原理:

SQL注入是因为后台SQL语句拼接了用户的输入,而且Web应用程序对用户输入数据的合法性没有判断和过滤,前端传入后端的参数是攻击者可控的,攻击者可以通过构造不同的SQL语句来实现对数据库查询、删除,增加,修改数据等等操作,如果数据库的用户权限足够大,还可以对操作系统执行操作.

类型:
依据注入点类型分类

​ 数字类型的注入

​ 字符串类型的注入

​ 搜索型注入

阅读全文 »

http的学习

昨天看了mj老师关于http中请求头中参数的讲解,收获了很多,特此整理成笔记记录,方便以后的复习.

请求头部分字段

头字段名 说明 示例
Accept 服务器能够接受的响应文件类型 Accept:text/html
Accept-Charset 服务器能够接受的字符集 Accept-Charset:GB2312,utf-8:q=0.9,*:q=.0.7
Accept-Encoding 服务器能够接受的编码方式 Accept-Encoding: gzip, deflate
Accept-Language 服务器能够接受的语言列表 Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
cookie 之前由服务器通过set-cookie发送的cokkie security=medium; security_level=0; PHPSESSID=cr1e09stcvf5a2ndbi4skmcde1
请求包格式讲解:

请求行:方法名 对应的url http版本 当然可以通过wireshark抓包查看最原始的请求行.

版本号 url http版本

1
GET /busuanzi?jsonpCallback=BusuanziCallback_816608165920 HTTP/1.1 

请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息.

示例

1
2
3
4
5
User-Agent:产生请求的浏览器类型。

Accept:客户端可识别的内容类型列表。

Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。

最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。

请求实体:get请求中不存在请求实体,post请求中请求实体往往保存请求的参数相关内容

阅读全文 »

内网横向渗透

在对内网主机进行信息收集后,接下来我们就是要对内网主机发动攻击。

哈希传递攻击

在域环境内,只有获得了域管理员的哈希才可以攻击。我们得到了域管理员administrator的哈希,在这里我们就可以用哈希传递攻击了。

在前面获得了域管理员 administrator 的NTLM哈希为:a4ee66cc11243b7741dbb83262e7eba4

NTLM: 就是NT的哈希值,前面的章节已经介绍过

哈希传递工具 必须借助mimikatz

Mimikatz是一款可以抓取系统内的明文密码的工具

通过蚁剑上传到 web目录

阅读全文 »