今天学习命令执行遇到的关于php写入一句话木马的问题.
通过DVWA中的命令执行题目讲解 难度low
命令执行相关知识点
命令执行直接调用操作系统命令。其原理是,在操作系统中,“&、|、||”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,将用户的输入作为系统命令的参数拼接到命令行中,在没有过滤用户输入的情况下,造成命令执行漏洞。
1 | 命令1&命令2 两个命令同时执行命令 |
1 | ### PHP中常见命令执行函数 |

一道关于ping命令的命令执行题目
命令执行直接调用操作系统命令。其原理是,在操作系统中,“&、|、||”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,将用户的输入作为系统命令的参数拼接到命令行中,在没有过滤用户输入的情况下,造成命令执行漏洞。
1 | 命令1&命令2 两个命令同时执行命令 |
1 | ### PHP中常见命令执行函数 |
一道关于ping命令的命令执行题目
我将通过DVWA靶场中的sql题目讲解SQL注入
SQL注入是因为后台SQL语句拼接了用户的输入,而且Web应用程序对用户输入数据的合法性没有判断和过滤,前端传入后端的参数是攻击者可控的,攻击者可以通过构造不同的SQL语句来实现对数据库查询、删除,增加,修改数据等等操作,如果数据库的用户权限足够大,还可以对操作系统执行操作.
数字类型的注入
字符串类型的注入
搜索型注入
头字段名 | 说明 | 示例 |
---|---|---|
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 | User-Agent:产生请求的浏览器类型。 |
最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。
请求实体:get请求中不存在请求实体,post请求中请求实体往往保存请求的参数相关内容