使用multipart/form-data 是否可以修改其他请求的内容

qiningti6935 2017-04-10 11:44:50
有个打卡软件 使用的http协议进行传输
在点击打卡按钮的时候会记录打卡地点 同时服务器自动记录打卡时间
打卡时具体的post内容如下(可能涉及敏感信息的部分已经修改):

POST "打卡地址" HTTP/1.1
Content-Type: multipart/form-data; boundary=b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc
Content-Length: 248
Host: "服务器名"
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.3.0

--b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc
Content-Disposition: form-data; name="address"
Content-Transfer-Encoding: binary
Content-Type: text/plain; charset=utf-8
Content-Length: 18

打卡地址
--b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc--

服务器回应:
{
"status": 0,
"msg": "打卡记录成功",
"data": null
}

同时会在服务器打卡记录中增加一条记录 记录打卡地点、服务器时间、打卡人id和打卡顺序id

查询当日打卡记录的时候会反回如下http信息

{
"status": 0,
"msg": "查询打卡成功",
"data": {
"upTime": {
"id": 2222,
"staffId": 打卡人id,
"punchDate": "2017-04-10",
"punchTime": "08:58:53",
"address": "打卡地址",
"content": null
},
"dateTime": "12:26:09",
"nowDate": "2017-04-10 21:25:07",
"downTime": {
"id": 2223,
"staffId": 打卡人id,
"punchDate": "2017-04-10",
"punchTime": "21:25:02",
"address": "打卡地址",
"content": null
}
}
}


按月份查询打卡记录的时候会反回如下信息


"status": 0,
"msg": "查询考勤列表成功",
"data": {
"ptList": [{
"id": "2222",
"content": null,
"upAddress": "打卡地址",
"upTime": "08:58:53",
"downAddress": "打卡地址",
"downTime": "20:31:01",
"punchDate": "2017-04-10",
"workType": "2"


是否可以通过修改第一段的post中的内容 来实现更改 指定id 中的punchDate和punchTime或者uptime和downtime的信息呢
...全文
647 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnnetman 2017-06-27
  • 打赏
  • 举报
回复
可以改,改完后重新计算raw数据长度,但是感觉没必要用这个方式post,楼主可以贴一下打卡页的代码
qiningti6935 2017-04-13
  • 打赏
  • 举报
回复
引用 3 楼 cnbjx 的回复:
个人觉得可以实现,楼主用ASP的话,建议使用 WinHttp.WinHttpRequest.5.1 组件。我没看到cookie信息,估计只验证:User-Agent 。 这个表单和浏览器提交的有点不同。浏览器一般是少了下面红色部份。不过这个没有影响。按这个来就可以了。 --b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc Content-Disposition: form-data; name="punchTime" Content-Transfer-Encoding: binary Content-Type: text/plain; charset=utf-8 Content-Length: 18 浏览器POST文件格式如下: Content-Disposition: form-data; name="file1"; filename="test.jpg" Content-Type: image/jpeg 建议先用 Fiddler 抓取软件 -> Composer -> RAW 执行看看,没问题再用程序实现。
能说的稍微再具体一点儿怎么用fiddler吗 我之前用charles执行似乎是不可以的
cnbjx 2017-04-11
  • 打赏
  • 举报
回复
个人觉得可以实现,楼主用ASP的话,建议使用 WinHttp.WinHttpRequest.5.1 组件。我没看到cookie信息,估计只验证:User-Agent 。

这个表单和浏览器提交的有点不同。浏览器一般是少了下面红色部份。不过这个没有影响。按这个来就可以了。

--b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc
Content-Disposition: form-data; name="punchTime"
Content-Transfer-Encoding: binary
Content-Type: text/plain; charset=utf-8
Content-Length: 18


浏览器POST文件格式如下:
Content-Disposition: form-data; name="file1"; filename="test.jpg"
Content-Type: image/jpeg

建议先用 Fiddler 抓取软件 -> Composer -> RAW 执行看看,没问题再用程序实现。
qiningti6935 2017-04-11
  • 打赏
  • 举报
回复
第一段post中的具体打卡地址为 "punch?staffId=打卡人id" 并且根据其他查询信息来看 应该是没有使用到cookie验证 应该是指在网址中读取打卡人id信息 然后返回相应结果 我曾经尝试在第一段post中加入相应的内容来试图修改其他数据 但是服务器返回是关闭了链接 并且修改失败 不知道是不是我的某些数据有问题
POST "打卡地址" HTTP/1.1
Content-Type: multipart/form-data; boundary=b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc
Content-Length: 248
Host: "服务器名"
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.3.0
 
--b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc
Content-Disposition: form-data; name="address"
Content-Transfer-Encoding: binary
Content-Type: text/plain; charset=utf-8
Content-Length: 18
 
打卡地址
--b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc
Content-Disposition: form-data; name="id"
Content-Transfer-Encoding: binary
Content-Type: text/plain; charset=utf-8
Content-Length: 18
 
2222
--b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc
Content-Disposition: form-data; name="staffid"
Content-Transfer-Encoding: binary
Content-Type: text/plain; charset=utf-8
Content-Length: 18
 
打卡人id
--b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc
Content-Disposition: form-data; name="punchDate"
Content-Transfer-Encoding: binary
Content-Type: text/plain; charset=utf-8
Content-Length: 18
 
2017-04-11
--b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc
Content-Disposition: form-data; name="punchTime"
Content-Transfer-Encoding: binary
Content-Type: text/plain; charset=utf-8
Content-Length: 18
 
08:08:08
--b10fc9c9-0f28-4cfe-b8e2-96bb00bf2edc--
hookee 2017-04-11
  • 打赏
  • 举报
回复
只从post的协议上讲,修改是没问题的。 问题是 cookie或http头里是否有包含认证授权的内容,来保证post信息的安全。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧