mirror of
https://github.com/vanhauser-thc/thc-hydra.git
synced 2025-07-05 12:36:09 -07:00
Merge pull request #867 from CoenTempelaars/issue-863
fix replacement of user/pass placeholders in http header
This commit is contained in:
commit
e5c9eb6ab7
1 changed files with 9 additions and 3 deletions
|
@ -314,9 +314,15 @@ void hdrrep(ptr_header_node *ptr_head, char *oldvalue, char *newvalue) {
|
|||
|
||||
for (cur_ptr = *ptr_head; cur_ptr; cur_ptr = cur_ptr->next) {
|
||||
if ((cur_ptr->type == HEADER_TYPE_USERHEADER || cur_ptr->type == HEADER_TYPE_USERHEADER_REPL) && strstr(cur_ptr->value, oldvalue)) {
|
||||
cur_ptr->value = (char *)realloc(cur_ptr->value, strlen(newvalue) + 1);
|
||||
if (cur_ptr->value)
|
||||
strcpy(cur_ptr->value, newvalue);
|
||||
size_t oldlen = strlen(oldvalue);
|
||||
size_t newlen = strlen(newvalue);
|
||||
if (oldlen != newlen)
|
||||
cur_ptr->value = (char *)realloc(cur_ptr->value, strlen(cur_ptr->value) - oldlen + newlen + 1);
|
||||
if (cur_ptr->value) {
|
||||
char *p = strstr(cur_ptr->value, oldvalue);
|
||||
memmove(p + newlen, p + oldlen, strlen(p + oldlen) + 1);
|
||||
memcpy(p, newvalue, newlen);
|
||||
}
|
||||
else {
|
||||
hydra_report(stderr, "[ERROR] Out of memory (hddrep).\n");
|
||||
hydra_child_exit(0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue