Skip to content

Instantly share code, notes, and snippets.

ommadawn ommadawn46

  • Chiba, Japan
Block or report user

Report or block ommadawn46

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@ommadawn46
ommadawn46 / e107_v2.1.8_MediaManager_bypass_filetype_check.md
Last active Sep 7, 2018
e107 v2.1.8 MediaManager bypass filetype check
View e107_v2.1.8_MediaManager_bypass_filetype_check.md

Description

MediaManager of e107 v2.1.8 contains a flaw that is triggered as file types and extensions for uploaded files are not properly validated before being placed in a user-accessible path. This may allow a remote attacker to upload a file and then request it in order to execute arbitrary code with the privileges of the web service.

Reproduce

  1. Login to the admin page (/e107_admin/admin.php) and access MediaManager.

  2. Make a backdoor PHP file named "backdoor.jpg" to bypass JavaScript filter and select it on MediaManeger.

<?php system($_GET['q']) ?>
@ommadawn46
ommadawn46 / e107_v2.1.8_Banlist_SQL_Injection.md
Last active Sep 7, 2018
e107 v2.1.8 Banlist SQL Injection
View e107_v2.1.8_Banlist_SQL_Injection.md

Description

e107 v2.1.8 contains a flaw that may allow carrying out an SQL injection attack. The issue is due to the /e107_admin/banlist.php script not properly escaping input to the old_ip parameter. This may allow a remote attacker to inject or manipulate SQL queries in the database, allowing for the manipulation or disclosure of arbitrary data.

Reproduce

  1. Login to the admin page. (/e107_admin/admin.php)
  2. Send a POST request to /e107_admin/banlist.php and use BurpSuite to rewrite parameters as follows.
POST /e107/e107_admin/banlist.php HTTP/1.1
Host: localhost:8080
@ommadawn46
ommadawn46 / javascript_class.md
Last active Jul 26, 2018
Javascriptのclass構文について調べたこと
View javascript_class.md

Javascriptのclass構文について

class構文

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Classes

  • ECMAScript 6で追加された
  • 昔はprototypeを利用してクラス的な振る舞いをするオブジェクトを作成することが多かったが、class構文を使えば簡単にクラスを扱うことができる
    class Polygon {
      constructor(height, width) {
        this.height = height;
View readable_code_chap13.md

リーダブルコード 13章 - 短いコードを書く

プログラマが学ぶべき最も大切な技能は、コードを書かないですむときを見極めることかもしれない

できるだけコードを書かないための方法

  • 不必要な機能を削除する。過剰な機能は持たせない
  • 汎用的なユーティリティを作って使いまわす
  • 定期的にすべてのAPIを読んで、標準ライブラリに慣れ親しんでおく

不必要な機能の削除

View readable_code_chap9.md

リーダブルコード 9章 - 変数と読みやすさ

コードを読みづらくする3つの変数の使い方

  • 無駄な変数が多い

    • 説明にならない邪魔な変数は削除する
  • 変数のスコープが大きい

    • 変数を数行のコードからのみ見える位置に移動する
  • 変数の値が頻繁に変更される

View readable_code_chap4.md

リーダブルコード 4章: 美しさ

美しさが必要な理由

  • 読みやすいから。 プログラミングをしている時間の大半はコードを読む時間だし、こだわる意味がある
  • コードを、一貫性あるやり方で、意味のある形に「整形」すれば、設計に手を入れなくても、すばやく簡単に読むことができるコードにすることができる。

コードの美しさの3つの原則

  1. 読み手が慣れているパターンと 一貫性のある レイアウトを使う。
  2. 似ているコードは似ているように見せる。
  3. 関連するコードをまとめてブロックにする。
View cto_challenge_level3.py
from html.parser import HTMLParser
from urllib.request import urlopen
from datetime import datetime
import json
import csv
import sys
import re
import os
# エラーログのパス
View cto_challenge_level2.py
from html.parser import HTMLParser
from urllib.request import urlopen
from datetime import datetime
import json
import csv
import sys
import re
# エラーログのパス
ERRORLOG = 'error.log'
View cto_challenge_level1.py
import json
def convertToStr(data):
if type(data) is unicode:
data = data.encode('utf-8')
elif not type(data) is str:
data = str(data)
return data
def writerow(f, cols):
You can’t perform that action at this time.