Utilizzo di campi modulo nascosti per modificare i prezzi su un sito Web

0

Mi sono imbattuto in questa domanda su cybery sull'attacco da utilizzato per modificare i prezzi su un sito web. Prima di tutto, presumo che per prezzo intendano i prezzi di un prodotto come su un sito E-Commerce (correggimi se sbaglio). La risposta a questa domanda è campi modulo nascosti. Mi chiedo com'è possibile.

Secondo le mie conoscenze, i campi dei moduli nascosti sono un'alternativa per la natura priva di identità di HTTP. Agiscono come token di sessione, proprio come i biscotti. Come si può usare valori nascosti per modificare i prezzi. A mio parere, la risposta dovrebbe essere SQL Injection in quanto può essere utilizzata per modificare il contenuto di un database. Qualche idea?

    
posta 7_R3X 11.06.2017 - 13:28
fonte

3 risposte

1

According to my knowledge, hidden form fields are an alternative for HTTP's stateless nature. They act as a session token, much like cookies do. How can one use hidden values to modify prices?

I campi modulo nascosti causano l'invio di alcuni dati con un modulo. Ad esempio:

<form method="POST" action="/post_answer">
    <textarea name="answer"></textarea>
    <input type="hidden" name="question_id" value="161719">
</form>

In questo modo, se scrivo una risposta nella textarea, il server sa che questa risposta è per la domanda 161719.

Questo è diverso da un token di sessione. Un token di sessione è memorizzato in un cookie e identifica la sessione. Quello che forse vuoi dire è che l'ID della domanda potrebbe essere memorizzato nella sessione. È vero, con un leggero cambiamento di comportamento: se visito più domande in più schede e le rispondo senza ordine, l'ID della domanda nella sessione non sarà corretto. Quello pubblicato con la risposta nel campo modulo nascosto sarà ancora corretto.

Quindi, come puoi modificare i prezzi? Se il modulo ha il seguente aspetto:

<form method="POST" action="/finish_order">
    Enter your shipping address: <textarea name="address"></textarea>
    <input type="hidden" name="price_to_pay" value="$123.45">
    <input type="hidden" name="order_id" value="6789">
</form>

Qui price_to_pay viene inviato a finish_order e ti viene addebitato $ 123,45. Tuttavia, è possibile modificare facilmente questo valore per addebitare meno. Se questo funziona e se il tuo ordine continua a essere disponibile dipende dall'implementazione del sito Web e dai controlli procedurali in atto.

    
risposta data 11.06.2017 - 13:51
fonte
0

If a hacker wanted to modify prices on a website, which of the below methods would they use? As an aside, there are no alerts shown through IDS.

Questo non è un gran numero di dettagli o di dettagli per una domanda come questa. Dipende dal tipo di "modifica dei prezzi".

XSS

Se il sito Web è vulnerabile a XSS, XSS può essere utilizzato per modificare gli aspetti del sito web. Ciò significa che il prezzo indicato sul sito web può essere modificato.

Hidden form fields

Se durante il pagamento il sito Web memorizza l'importo da pagare in un campo modulo nascosto senza ulteriore convalida, un visitatore può modificare il valore di questo campo modulo e pagare meno per l'articolo ordinato. Quindi il prezzo da pagare può essere modificato.

SQL injection

L'iniezione SQL consente di modificare i dati nel database. Presumibilmente i prezzi sono memorizzati nel database e possono essere modificati, quindi questo permetterebbe anche di modificare i prezzi. Tuttavia, questo è più probabile che mostri un avviso in un IDS.

Port scanning

No, non è possibile utilizzare la scansione delle porte per modificare i prezzi.

    
risposta data 11.06.2017 - 13:43
fonte
0

Domande a scelta multipla come questa sono spesso ambigue e possono avere più di una risposta valida.

Mentre si è certi che SQL injection può essere usato per modificare i prezzi, la chiave qui è che non ci sono avvisi IDS quindi con un IDS ben configurato che sta cercando un'iniezione, che lascerebbe una traccia.

Alcune scarse implementazioni di siti di e-commerce caricano i dati del prodotto e utilizzano campi nascosti per archiviare il prezzo che viene trasferito al servizio di pagamento. Questo è più comune quando un negozio online ha bisogno di comunicare i prezzi con un gateway di pagamento di terze parti.

Quindi, l'attacco in questo caso sarebbe identificare il campo nascosto che contiene il tuo prezzo, modificarlo come un penny attraverso gli strumenti di sviluppo standard nel browser e completare la transazione normalmente

    
risposta data 11.06.2017 - 13:44
fonte

Leggi altre domande sui tag