Heim  >  Fragen und Antworten  >  Hauptteil

php – Analyse spezifischer Beispiele für SQL-Injection und XSS

Meine Website wurde vor einem Monat angegriffen und heute habe ich einen Schwachstellenerkennungsbericht von 360 erhalten. Oh mein Gott, 360 macht so etwas immer noch?

Warum wird es immer noch eingefügt, wenn ich beim Schreiben in die Datenbank Addslashes verwende? Müssen Link 1 und Link 2 kombiniert werden, um injiziert zu werden?
Was die zweite Sicherheitslücke betrifft, bin ich mir nicht sicher, wie ich mich dagegen wehren soll.
Ich habe keine eingehenden Untersuchungen zur Website-Sicherheit. Ich möchte Sie bitten, zu analysieren, wie dies erreicht wird und wie die Lücken geschlossen werden können.
Wenn Sie den Code in die Datenbank schreiben müssen, werde ich ihn veröffentlichen.

PS, Schreiblinks werden automatisch um SF gekürzt, daher wird nach http: ein Leerzeichen eingefügt.


Nach dem Debuggen kann es tatsächlich injiziert werden ... Ich weiß immer noch nicht genug über SQL

Die endgültige in die Datenbank geschriebene Aussage lautet:

insert into comment values(NULL,1,1497261734,'88888',0,'hacker@hacker.org','http://www.hacker.org/','182.118.33.8','88888',0 RLIKE (SELECT (CASE WHEN (4725=4725) THEN 0 ELSE 0x28 END)) AND SLEEP(5)%20%23);

Ich würde gerne fragen, was der letzte Satz bedeutet

0 RLIKE (SELECT (CASE WHEN (4725=4725) THEN 0 ELSE 0x28 END)) AND SLEEP(5)%20%23
高洛峰高洛峰2708 Tage vor1883

Antworte allen(3)Ich werde antworten

  • PHP中文网

    PHP中文网2017-06-13 09:24:07

    xss 嵌套html腳本代碼,參數應該轉為html實體。函數htmlspecialchars

    連接1系通過輸入mysql的關鍵字去進行mysql如今,應該需要將關鍵字過濾。

    當然其實所有防止注入最好的方式是用預處理!!!!

    Antwort
    1
  • PHP中文网

    PHP中文网2017-06-13 09:24:07

    1. 最好使用参数化查询,而不要使用SQL语句拼接的方式。

    2. xss可以通过参数过滤,将类似<script>这样的脚本代码过滤掉。

    Antwort
    1
  • 我想大声告诉你

    我想大声告诉你2017-06-13 09:24:07

    你这代码完全没过滤啊

    Antwort
    0
  • StornierenAntwort