(lldb) Comando | Descrição |
run (r) | Inicia a execução, que continuará sem interrupções até que um ponto de interrupção seja atingido ou o processo termine. |
process launch --stop-at-entry | Inicia a execução parando no ponto de entrada |
continue (c) | Continua a execução do processo depurado. |
nexti (n / ni) | Executa a próxima instrução. Este comando irá pular chamadas de função. |
stepi (s / si) | Executa a próxima instrução. Ao contrário do comando nexti, este comando irá entrar nas chamadas de função. |
finish (f) | Executa o restante das instruções na função atual (“frame”), retorna e para. |
control + c | Pausa a execução. Se o processo foi executado (r) ou continuado (c), isso fará com que o processo pare ...onde quer que esteja executando atualmente. |
breakpoint (b) |
breakpoint delete <num> |
help | help breakpoint #Obter ajuda do comando breakpoint help memory write #Obter ajuda para escrever na memória |
reg | reg read reg read $rax reg read $rax --format <formato> reg write $rip 0x100035cc0 |
x/s <reg/endereço de memória> | Exibe a memória como uma string terminada em nulo. |
x/i <reg/endereço de memória> | Exibe a memória como instrução de assembly. |
x/b <reg/endereço de memória> | Exibe a memória como byte. |
print object (po) | Isso imprimirá o objeto referenciado pelo parâmetro po $raw
Note que a maioria das APIs ou métodos Objective-C da Apple retornam objetos, e, portanto, devem ser exibidos via o comando “print object” (po). Se po não produzir uma saída significativa, use |
memory | memory read 0x000.... memory read $x0+0xf2a memory write 0x100600000 -s 4 0x41414141 #Escreve AAAA nesse endereço memory write -f s $rip+0x11f+7 "AAAA" #Escreve AAAA no addr |
disassembly | dis #Desmonta a função atual dis -n <funcname> #Desmonta a função dis -n <funcname> -b <basename> #Desmonta a função |
parray | parray 3 (char **)$x1 # Verifica array de 3 componentes no reg x1 |
image dump sections | Imprime o mapa da memória do processo atual |
image dump symtab <library> | image dump symtab CoreNLP #Obtém o endereço de todos os símbolos do CoreNLP |
(lldb) Comando | Descrição |
run (r) | Inicia a execução, que continuará sem interrupções até que um ponto de interrupção seja atingido ou o processo termine. |
process launch --stop-at-entry | Inicia a execução parando no ponto de entrada |
continue (c) | Continua a execução do processo depurado. |
nexti (n / ni) | Executa a próxima instrução. Este comando irá pular chamadas de função. |
stepi (s / si) | Executa a próxima instrução. Ao contrário do comando nexti, este comando irá entrar nas chamadas de função. |
finish (f) | Executa o restante das instruções na função atual (“frame”) e retorna, parando. |
control + c | Pausa a execução. Se o processo foi executado (r) ou continuado (c), isso fará com que o processo pare ...onde quer que esteja executando atualmente. |
breakpoint (b) |
breakpoint delete <num> |
help | help breakpoint #Obter ajuda do comando breakpoint help memory write #Obter ajuda para escrever na memória |
reg | reg read reg read $rax reg read $rax --format <formato> reg write $rip 0x100035cc0 |
x/s <reg/endereço de memória> | Exibe a memória como uma string terminada em nulo. |
x/i <reg/endereço de memória> | Exibe a memória como instrução de assembly. |
x/b <reg/endereço de memória> | Exibe a memória como byte. |
print object (po) | Isso imprimirá o objeto referenciado pelo parâmetro po $raw
Note que a maioria das APIs ou métodos Objective-C da Apple retornam objetos, e, portanto, devem ser exibidos via o comando “print object” (po). Se po não produzir uma saída significativa, use |
memory | memory read 0x000.... memory read $x0+0xf2a memory write 0x100600000 -s 4 0x41414141 #Escreve AAAA nesse endereço memory write -f s $rip+0x11f+7 "AAAA" #Escreve AAAA no addr |
disassembly | dis #Desmonta a função atual dis -n <funcname> #Desmonta a função dis -n <funcname> -b <basename> #Desmonta a função |
parray | parray 3 (char **)$x1 # Verifica array de 3 componentes no reg x1 |
image dump sections | Imprime o mapa da memória do processo atual |
image dump symtab <library> | image dump symtab CoreNLP #Obtém o endereço de todos os símbolos do CoreNLP |
set mykey <flags> <ttl> <size>
<p>Certifique-se de usar \r\n como quebras de linha ao usar ferramentas CLI do Unix. Por exemplo</p> printf "set mykey 0 60 4\r\ndata\r\n" | nc localhost 11211
set mykey <flags> <ttl> <size>
<p>Certifique-se de usar \r\n como quebras de linha ao usar ferramentas CLI do Unix. Por exemplo</p> printf "set mykey 0 60 4\r\ndata\r\n" | nc localhost 11211
CREATE OR REPLACE FUNCTION public.create_subscription(IN subscription_name text,IN host_ip text,IN portnum text,IN password text,IN username text,IN db_name text,IN publisher_name text)
RETURNS text
@@ -666,7 +664,7 @@ PERFORM dblink_disconnect();
…
-Como [**explicado na documentação**](https://www.postgresql.org/docs/current/sql-createfunction.html), uma função com **SECURITY DEFINER é executada** com os privilégios do **usuário que a possui**. Portanto, se a função for **vulnerável a SQL Injection** ou estiver realizando algumas **ações privilegiadas com parâmetros controlados pelo atacante**, ela pode ser abusada para **escalar privilégios dentro do postgres**.
+Como [**explicado na documentação**](https://www.postgresql.org/docs/current/sql-createfunction.html), uma função com **SECURITY DEFINER é executada** com os privilégios do **usuário que a possui**. Portanto, se a função for **vulnerável a SQL Injection** ou estiver realizando algumas **ações privilegiadas com parâmetros controlados pelo atacante**, pode ser abusada para **escalar privilégios dentro do postgres**.
Na linha 4 do código anterior, você pode ver que a função tem a flag **SECURITY DEFINER**.
```sql
diff --git a/src/network-services-pentesting/pentesting-rdp.md b/src/network-services-pentesting/pentesting-rdp.md
index d32cbd8ed..62db56559 100644
--- a/src/network-services-pentesting/pentesting-rdp.md
+++ b/src/network-services-pentesting/pentesting-rdp.md
@@ -50,7 +50,7 @@ rdp_check