שיתוף | האקר טייפר – האקר בלי לדעת שורת קוד אחת!
-
-
@אורחל כתב בשיתוף | האקר טייפר – האקר בלי לדעת שורת קוד אחת!:
דרך אגב למה אי אפשר לפתוח את הפרןפיל שלך
כבר דובר על זה בפורום ולא ידוע...
@אורחל כתב בשיתוף | האקר טייפר – האקר בלי לדעת שורת קוד אחת!:
דרך אגב למה נתנו דסלייק
לבנימינהלא אני...
בטעות... -
@הגאון-מכולם כתב בשיתוף | האקר טייפר – האקר בלי לדעת שורת קוד אחת!:
דרך אגב למה אי אפשר לפתוח את הפרןפיל שלך
כבר דובר על זה בפורום ולא ידוע..
איפה דובר?תברר
-
@בנימינה כתב בשיתוף | האקר טייפר – האקר בלי לדעת שורת קוד אחת!:
האם יש הגבלה של שורות או שזה מיוצר כל הזמן?
@עדלאידע כתב בשיתוף | האקר טייפר – האקר בלי לדעת שורת קוד אחת!:
אין הגבלה.
יש הגבלה (זה תמיד אותו קוד).
הנה כל הקוד:struct group_info init_groups = { .usage = ATOMIC_INIT(2) }; struct group_info *groups_alloc(int gidsetsize){ struct group_info *group_info; int nblocks; int i; nblocks = (gidsetsize + NGROUPS_PER_BLOCK - 1) / NGROUPS_PER_BLOCK; /* Make sure we always allocate at least one indirect block pointer */ nblocks = nblocks ? : 1; group_info = kmalloc(sizeof(*group_info) + nblocks*sizeof(gid_t *), GFP_USER); if (!group_info) return NULL; group_info->ngroups = gidsetsize; group_info->nblocks = nblocks; atomic_set(&group_info->usage, 1); if (gidsetsize <= NGROUPS_SMALL) group_info->blocks[0] = group_info->small_block; else { for (i = 0; i < nblocks; i++) { gid_t *b; b = (void *)__get_free_page(GFP_USER); if (!b) goto out_undo_partial_alloc; group_info->blocks[i] = b; } } return group_info; out_undo_partial_alloc: while (--i >= 0) { free_page((unsigned long)group_info->blocks[i]); } kfree(group_info); return NULL; } EXPORT_SYMBOL(groups_alloc); void groups_free(struct group_info *group_info) { if (group_info->blocks[0] != group_info->small_block) { int i; for (i = 0; i < group_info->nblocks; i++) free_page((unsigned long)group_info->blocks[i]); } kfree(group_info); } EXPORT_SYMBOL(groups_free); /* export the group_info to a user-space array */ static int groups_to_user(gid_t __user *grouplist, const struct group_info *group_info) { int i; unsigned int count = group_info->ngroups; for (i = 0; i < group_info->nblocks; i++) { unsigned int cp_count = min(NGROUPS_PER_BLOCK, count); unsigned int len = cp_count * sizeof(*grouplist); if (copy_to_user(grouplist, group_info->blocks[i], len)) return -EFAULT; grouplist += NGROUPS_PER_BLOCK; count -= cp_count; } return 0; } /* fill a group_info from a user-space array - it must be allocated already */ static int groups_from_user(struct group_info *group_info, gid_t __user *grouplist) { int i; unsigned int count = group_info->ngroups; for (i = 0; i < group_info->nblocks; i++) { unsigned int cp_count = min(NGROUPS_PER_BLOCK, count); unsigned int len = cp_count * sizeof(*grouplist); if (copy_from_user(group_info->blocks[i], grouplist, len)) return -EFAULT; grouplist += NGROUPS_PER_BLOCK; count -= cp_count; } return 0; } /* a simple Shell sort */ static void groups_sort(struct group_info *group_info) { int base, max, stride; int gidsetsize = group_info->ngroups; for (stride = 1; stride < gidsetsize; stride = 3 * stride + 1) ; /* nothing */ stride /= 3; while (stride) { max = gidsetsize - stride; for (base = 0; base < max; base++) { int left = base; int right = left + stride; gid_t tmp = GROUP_AT(group_info, right); while (left >= 0 && GROUP_AT(group_info, left) > tmp) { GROUP_AT(group_info, right) = GROUP_AT(group_info, left); right = left; left -= stride; } GROUP_AT(group_info, right) = tmp; } stride /= 3; } } /* a simple bsearch */ int groups_search(const struct group_info *group_info, gid_t grp) { unsigned int left, right; if (!group_info) return 0; left = 0; right = group_info->ngroups; while (left < right) { unsigned int mid = left + (right - left)/2; if (grp > GROUP_AT(group_info, mid)) left = mid + 1; else if (grp < GROUP_AT(group_info, mid)) right = mid; else return 1; } return 0; } /** * set_groups - Change a group subscription in a set of credentials * @new: The newly prepared set of credentials to alter * @group_info: The group list to install * * Validate a group subscription and, if valid, insert it into a set * of credentials. */ int set_groups(struct cred *new, struct group_info *group_info) { put_group_info(new->group_info); groups_sort(group_info); get_group_info(group_info); new->group_info = group_info; return 0; } EXPORT_SYMBOL(set_groups); /** * set_current_groups - Change current's group subscription * @group_info: The group list to impose * * Validate a group subscription and, if valid, impose it upon current's task * security record. */ int set_current_groups(struct group_info *group_info) { struct cred *new; int ret; new = prepare_creds(); if (!new) return -ENOMEM; ret = set_groups(new, group_info); if (ret < 0) { abort_creds(new); return ret; } return commit_creds(new); } EXPORT_SYMBOL(set_current_groups); SYSCALL_DEFINE2(getgroups, int, gidsetsize, gid_t __user *, grouplist) { const struct cred *cred = current_cred(); int i; if (gidsetsize < 0) return -EINVAL; /* no need to grab task_lock here; it cannot change */ i = cred->group_info->ngroups; if (gidsetsize) { if (i > gidsetsize) { i = -EINVAL; goto out; } if (groups_to_user(grouplist, cred->group_info)) { i = -EFAULT; goto out; } } out: return i; } /* * SMP: Our groups are copy-on-write. We can set them safely * without another task interfering. */ SYSCALL_DEFINE2(setgroups, int, gidsetsize, gid_t __user *, grouplist) { struct group_info *group_info; int retval; if (!nsown_capable(CAP_SETGID)) return -EPERM; if ((unsigned)gidsetsize > NGROUPS_MAX) return -EINVAL; group_info = groups_alloc(gidsetsize); if (!group_info) return -ENOMEM; retval = groups_from_user(group_info, grouplist); if (retval) { put_group_info(group_info); return retval; } retval = set_current_groups(group_info); put_group_info(group_info); return retval; } /* * Check whether we're fsgid/egid or in the supplemental group.. */ int in_group_p(gid_t grp) { const struct cred *cred = current_cred(); int retval = 1; if (grp != cred->fsgid) retval = groups_search(cred->group_info, grp); return retval; } EXPORT_SYMBOL(in_group_p); int in_egroup_p(gid_t grp) { const struct cred *cred = current_cred(); int retval = 1; if (grp != cred->egid) retval = groups_search(cred->group_info, grp); return retval; }
-
@הגאון-מכולם פשוט תשנה בהגדרות שזה יהיה מהר יותר...
-
@יוסף-אלחנן נכון
-
@הגאון-מכולם אם כבר זה עלה, אז גם הפרופיל של @g0527 עם אותה בעיה...
@נטפרי מה קורה?
@הגאון-מכולם כתב בשיתוף | האקר טייפר – האקר בלי לדעת שורת קוד אחת!:@יוסף-אלחנן כתב בשיתוף | האקר טייפר – האקר בלי לדעת שורת קוד אחת!:
@נטפרי מה קורה?
אין משתמש כזה...
אני יודע!!
מה הקשר שאני אתייג משתמש? -
-
@יוסף-אלחנן יש @נטנטנט ו @נטספארק
-
@הגאון-מכולם אין מה לשגע את כל העולם.
תחשוב איזה פוסט שלך אולי עצבן את הבוט האוטומטי.
ותבקש מההנהלה למחוק אותו. -
@יוסף-אלחנן כתב בשיתוף | האקר טייפר – האקר בלי לדעת שורת קוד אחת!:
אני יודע!!
מה הקשר שאני אתייג משתמש?אני לא יודע, אם יש משתמש שידוע שמתעסק בדברים האלה...
-
@צדיק-וטוב-לו-0 על פי מה אני לזהות אותו?
-
@הגאון-מכולם אולי תפתח פניה ותשלח להם את פרטי החסימה
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 -
@יוסף-אלחנן
א. אין לי נטפרי.
ב. איפה ליצור איתם קשר? -
@יוסף-אלחנן כתב בשיתוף | האקר טייפר – האקר בלי לדעת שורת קוד אחת!:
אם כבר זה עלה, אז גם הפרופיל של @g0527 עם אותה בעיה...
הפרופיל שלו נחסם בגלל הנושא הזה.
הספוילר שם עיצבן את הרובוט של נטפרי.